使用WebDriver处理下拉列表中的加载消息

时间:2017-02-03 08:32:24

标签: selenium-webdriver webdriver

有一个下拉列表。每当我尝试从下拉列表中检索值时,我会将“正在加载...”作为下拉列表中的一个选项。如何在代码中等待,直到下拉完全填充值为止。

我使用了以下代码,但它不起作用:

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 ....

1 个答案:

答案 0 :(得分:0)

您需要使用网络驱动程序方法,直到.elementIsVisble(WebElement)http://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/lib/until.html

然后你只需要等到“Loading ...”元素消失。