0

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

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

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

未知错误:元素 ... 在点 (178, 391) 处不可点击。其他元素会收到点击:

我还添加了点击代码

wait.until(ExpectedConditions.elementToBeClickable(webElement));
             webElement.click();
             return true;

请帮助我如何等到加载窗口关闭。

加载窗口

4

3 回答 3

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++;              
        }

    }
}
于 2017-11-23T09:38:17.727 回答
0

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

driver.manage().timeouts().implicitlyWait(Integer.parseInt("30"),TimeUnit.SECONDS);
于 2017-11-16T08:26:39.967 回答
0

你可以使用这个:

wait.until(ExpectedConditions.visibilityOfElementLocated(webElement));
webElement.click();
于 2017-11-16T11:50:43.733 回答