Selenium webdriver - 等待页面重新加载

标签 selenium

有没有办法,如何等待页面重新加载?例如,当我位于 localhost:9000/web 页面时,我再次指示 Webdriver 导航到 localhost:9000/web。我不想或无法通过等待某些元素来指示重新加载。

最佳答案

在 Selenium WebDriver 中,我们可以使用以下代码片段实现 waitForPageToLoad :

public void waitForPageToLoad(WebDriver driver) {
    ExpectedCondition < Boolean > pageLoad = new
    ExpectedCondition < Boolean > () {
        public Boolean apply(WebDriver driver) {
            return ((JavascriptExecutor) driver).executeScript("return document.readyState").equals("complete");
        }
    };

    Wait < WebDriver > wait = new WebDriverWait(driver, 60);
    try {
        wait.until(pageLoad);
    } catch (Throwable pageLoadWaitError) {
        assertFalse("Timeout during page load", true);
    }
}

关于Selenium webdriver - 等待页面重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19552485/

相关文章:

java - Selenium 通过鼠标悬停处理不同元素的相同链接文本

Python Selenium 动态表格单元格返回空字符串

java - Selenium /java : how to get get total page length

java - 无法在 ExtentReport 中添加两个类的结果

java - TestNG 运行完成后,Intellij 会自动关闭打开的浏览器

java - Ubuntu 上的 Selenium+Chrome 显示不受支持的命令行标志 --ignore-certificate-error

java - 如何使用 Selenium 找到这个按钮?我尝试了partiallinktext并多次尝试cssSelector

javascript - 测试 React 组件时解决 selenium-webdriver 中的 StaleElementReference

java - Selenium WebDriver FluentWait

使用 selenium webdriver 进行 Android 应用测试