0

我正在使用 selenium web driver 3.4.0 来查找网站的响应时间。在早期版本中,我使用了 WebDriver wait = new WebDriverWait(driver, 10); wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("myId"))); 找到加载的页面。

但是这两行代码不适用于 3.4.0 版本。还有其他方法可以计算页面的加载时间吗?还是等到页面加载完毕?我还需要检测将在按钮单击时加载的模式对话框。我正在 Eclipse IDE 中使用动态 Web 项目来实现。

我还需要等待一些点击事件完成加载 Dom 元素。Wait.until() 不适用于 selenium 3.4.0。如何让硒等到某些元素可见?

4

1 回答 1

0

您可以使用 JavascriptExecutor 获取页面的就绪状态,并将其作为预期条件传递给您的 wait.until()

这是此的参考代码,

ExpectedCondition<Boolean> expectation = new
            ExpectedCondition<Boolean>() {
        public Boolean apply(WebDriver driver) {
            return ((JavascriptExecutor) driver).executeScript("return document.readyState").toString().equals("complete");
        }
    };
    try {
        Thread.sleep(1000);
        WebDriverWait wait = new WebDriverWait(LocalDriverManager.getDriver(), 30);
        wait.until(expectation);
    } catch (Throwable error) {
        Assert.fail("Timeout waiting for Page Load Request to complete.");
    }
于 2018-05-29T07:58:51.810 回答