验证页面重新加载的最可靠方法是验证元素是否已过时,然后验证是否已加载新元素。
选择“旧”页面上存在的元素 。这是您希望在页面重新加载时过时的元素。elementToBeStale
现在,选择您希望在重新加载后出现在页面上的元素,。请注意,这可能是您预期过时的同一元素。xPathOfElementToLoad
请注意,不能是 a,因为它在页面上尚不存在,因此不能由一个表示。xPathOfElementToLoad
WebElement
WebDriverWait wait = new WebDriverWait(driver, WAIT_TIME, POLL_INTERVAL);
ExpectedCondition<Boolean> cond1 = ExpectedConditions.stalenessOf(elementToBeStale);
ExpectedCondition<WebElement> cond2 = ExpectedConditions.presenceOfElementLocated(By.xpath(xPathOfElementToLoad));
ExpectedCondition<Boolean> cond = ExpectedConditions.and(cond1, cond2);
wait.until(cond);
这对于页面重新加载很有用,因为在页面上,等待过时的重新加载可以保证元素不再存在,然后等待新元素存在,从而保证新页面已加载WebElement