2017-01-10 7 views
1

Я пытаюсь найти ссылку «Поиск», однако я получаю следующую ошибку: org.openqa.selenium.NoSuchElementException: Не удалось найти элемент: {"method": "link текст», "селектор": "Поиск"}Невозможно найти ссылку на элемент

Я осмотрел объект с помощью Firebug:

<li onclick="submitSelectedTab('tabSelected', 'TabGroup1', '12');" title="Search"> 
    <a href="#"> 
     <span>Search</span> 
    </a> 
</li> 

кода я пытался использовать был

driver.findElement(By.linkText("Search")).click(); 

Я также попытался: driver.findElement (By.partialLinkText («Поиск»)). Click();

Я также попытался запустить IDE, которая вернулась с: // ОШИБКА: Исправлено исключение [ОШИБКА: Неподдерживаемая команда [waitForPopUp | _blank | 30000]]

driver.findElement(By.cssSelector("li[title=\"Search\"] > a > span")).click(); 

Вышеупомянутый код не работает.

Я не уверен, что это имеет значение, но чтобы добраться до этой страницы, была загружена новая вкладка.

+0

Да, это делает разницу, которая была загружена новая вкладка. : D Почему вы открываете новую вкладку, это необходимо? – acikojevic

+0

Это не произошло в первый раз, когда я разместил его. Является ли вышеуказанный html достаточным? –

+0

Да, это моя среда UAT загружается после входа в систему. –

ответ

1

Вам необходимо перейти на новую вкладку

// get original tab handle 
String currentHandle = driver.getWindowHandle(); 

// open the new tab here 

// switch to the new tab 
for (String handle : driver.getWindowHandles()) { 
    if (!handle.equals(currentHandle)) 
    { 
     driver.switchTo().window(handle); 
    } 
} 

driver.findElement(By.linkText("Search")).click(); 

// close the new tab and switch back to the old tab 
driver.close(); 
driver.switchTo().window(currentHandle); 
+0

Работал как шарм. Ты обалденный. Благодаря :) –

0

Вы можете попробовать с помощью следующего кода:

driver.findElement(By.xpath("//span[contains(text(), 'Search')]")).click(); 
Смежные вопросы