java - Selenium webdriver 2.47.1 如何等待页面重新加载

标签 java selenium-webdriver

我正在使用 webdriver(java) 进行独特的测试,其中页面在您登录时自行重新加载,我一直无法等待元素加载,因为它在重新加载之前已经存在。到目前为止,我能够让它工作的唯一方法是使用 thread.sleep,有没有办法监听页面刷新?

最佳答案

解决这个问题的一种方法是,获取对您需要的元素的引用,该元素同时出现在登录页面和重新加载的页面上。 然后您可以使用 ExpectedConditions.stalenessOf 发生,然后您可以确定该元素已从 DOM 中删除并创建了一个新元素。好吧,这个方法不能保证最后一部分,但至少你知道旧元素已经消失了。

代码可能是这样的:

WebElement elementOldPage = driver.findElement(By.id("yourid"));

... do login etc ...

WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.stalenessOf(elementOldPage));

WebElement elementNewPage = driver.findElement(By.id("yourid"));

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

相关文章:

css - 无法通过 webdriver 的 CSS 选择器进行选择

javascript - python selenium提交按钮在日期选择器后不起作用

java - 获取用户名 ""

java - 如何动态获取EditText宽度并将其设置为recyclerView宽度

java - 我的Java代码中无效的转义序列(有效的是\b\t\n\f\r\“\'\\)错误?

java - Recycler View Adapter 中无法识别 Android EXTRA_MESSAGE

java - 如何在Java中将值从 "%02x"转换回来?

java - 如何在 Amazon 中使用 Selenium 和 Java 解决 org.openqa.selenium.ElementNotVisibleException

selenium-webdriver - 如何在 JUnit 5 中参数化 beforeEach()?

java - 通过 TestNG 在不同浏览器上运行 selenium 测试