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

我正在使用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"));