有一个下拉列表。每当我尝试从下拉列表中检索值时,我会将“正在加载...”作为下拉列表中的一个选项。如何在代码中等待,直到下拉完全填充值为止。
我使用了以下代码,但它不起作用:
Boolean eleVendorId=false;
eleVendorId =
new FluentWait<WebDriver>(driver)
.withTimeout(120, TimeUnit.SECONDS)
.pollingEvery(10, TimeUnit.SECONDS)
.until(new Function<WebDriver, Boolean>() {
public Boolean apply(WebDriver driver) {
Boolean flag=false;
List<WebElement> list_options=new Select(category).getOptions();
for(WebElement temp:list_options){
if(!temp.getText().contains("Loading")){
flag=true;
}
}
return flag;
}
});
我仍然得到输出:
-All-
Loading ....
答案 0 :(得分:0)
您需要使用网络驱动程序方法,直到.elementIsVisble(WebElement)http://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/lib/until.html
然后你只需要等到“Loading ...”元素消失。