如何等到加载窗口关闭或可见假

时间:2017-11-16 07:53:19

标签: java selenium selenium-webdriver selenium3

我使用JAVA开发了selenium自动化框架,我遇到了问题。 当我点击任何按钮时,说过滤器或清除过滤器应用程序显示一个加载窗口,之后,我们可以执行下一个操作。 我已经添加了以下代码,等待加载窗口可见false但它无法正常工作。

HttpClient

在web元素中我传递了加载窗口XPATH。每次代码不等待窗口关闭时,都会开始点击按钮并抛出异常

  

未知错误:元素...在点(178,391)处无法点击。其他元素将收到点击:

我还添加了点击

的代码
wait.until(ExpectedConditions.invisibilityOf(webElement));
                    System.out.println("Wait Untill Loading Window Closed");
                    existFlag=true;

请帮助我等待装载窗口关闭。

Loading Window

3 个答案:

答案 0 :(得分:0)

您应该使用隐式等待来实现此目的。初始化驱动程序实例后,添加此语句以设置驱动程序对象的隐式等待。

driver.manage().timeouts().implicitlyWait(Integer.parseInt("30"),TimeUnit.SECONDS);

答案 1 :(得分:0)

您可以使用:

wait.until(ExpectedConditions.visibilityOfElementLocated(webElement));
webElement.click();

答案 2 :(得分:0)

你可以写个人服务员。我想,当你看到这个卷轴时,你会遇到一些情况。例如,您可以尝试使用下一种方法:

public void waitIfScrollerStillVisibe(int seconds, By locator) {
    int counter = 0;
    while (!isElemenyVisible(locator)) {
        if (counter == seconds) {
            new throw ElementIsNotVisibleException();
        }
        else {
            Thread.sleep(seconds);
            counter++;              
        }

    }
}