【发布时间】:2017-01-12 14:09:36
【问题描述】:
我正在使用 Selenium 和 Java Webdriver,而且我是 Selenium 的新手。 我有一个与Thread 类似的问题,我尝试了几种方法。我只想获取此下拉列表的第一个元素(它将很快变得更长)并选择它以使用 junit 测试输入掩码。 这是网站的sn-p:
<md-option ng-repeat="customer in settingsCtrl.customers" value="1" tabindex="0" class="ng-scope md-ink-ripple" role="option" aria-selected="true" id="select_option_4" style="" selected="selected">
<div class="md-text ng-binding">FirstCustomer</div>
<div class="md-ripple-container" style=""></div>
</md-option>
我尝试了以下操作:
WebDriverWait wait = new WebDriverWait(driver, 300);
WebElement customer = driver.findElement(By.id("select_option_4"));
//customer.click();
//wait.wait();
List <WebElement> rows = customer.findElements(By.tagName("div"));
System.out.println("row size: " + rows.size());
// Debug text
Iterator<WebElement> i = rows.iterator();
while(i.hasNext()){
WebElement row = i.next();
System.out.println("row text: " + row.getText() );
}
rows.get(0).click();
错误消息与线程中的一样:ElementNotVisibleException
有什么建议吗?
【问题讨论】:
-
错误在哪里抛出?
-
rows.get(0).click();
标签: java selenium selenium-webdriver