2015-11-13 3 views
-1

Я хочу получить некоторые элементы, но он бросает ошибку "". Мой код java -Selenium не получает элементы

driver = new InternetExplorerDriver(); 
WebDriverWait wait = new WebDriverWait(driver, 60); 
wait.until(ExpectedConditions.visibilityOfElementLocated(By.name("New User"))); 
driver.findElement(By.name("New User")).click(); 

И HTML-код похож на нижнюю иерархию.

/html/frameset/frame/html/body/table/tr/td/New User 

Я использую Internet Explorer 8 так не смог найти там XPath передний я не связан методом XPATH.

+0

'но это бросает ошибку' ..what ошибку? –

+0

Пожалуйста, добавьте дополнительную информацию ... как соответствующий HTML, больше того, что вы пробовали и т. Д. – JeffC

ответ

0

Существует iframe, который вы должны переключиться:

driver.switchTo().frame(0); // 0 - means, switch to the first frame 

WebDriverWait wait = new WebDriverWait(driver, 60); 
wait.until(ExpectedConditions.visibilityOfElementLocated(By.name("New User"))).click(); 
+0

Просто уточнение. [visibilityOfElementLocated] (http://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/support/ui/ExpectedConditions.html#visibilityOfElementLocated-org.openqa.selenium.By-) возвращает WebElement он ждет, поэтому явный findElement избыточен: 'WebElement newUserLink = wait.until (ExpectedConditions.visibilityOfElementLocated (By.name (« Новый пользователь »)); newUserLink.click() ' –

+0

@ alb-i986 да, конечно, хотя это не было точкой ответа :) Спасибо. – alecxe

+0

Спасибо, что работает, но как я знаю фрейм (0) или рамку (1). каковы эти 0 и 1 – Shik

Смежные вопросы