0
我正在使用webdriver(java)进行独立测试,其中页面在您登录时自动重新加载,我一直无法等待元素加载,因为它在重装之前已经存在。到目前为止,我能够实现它的唯一方法是使用thread.sleep,有没有办法监听页面刷新?Selenium webdriver 2.47.1如何等待页面重新加载
我正在使用webdriver(java)进行独立测试,其中页面在您登录时自动重新加载,我一直无法等待元素加载,因为它在重装之前已经存在。到目前为止,我能够实现它的唯一方法是使用thread.sleep,有没有办法监听页面刷新?Selenium webdriver 2.47.1如何等待页面重新加载
解决此问题的一种方法是获取对您需要的元素的引用,该引用出现在登录页面和重新加载的页面上。 然后您可以使用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"));
谢谢,我会试试这个。 –