ページの再読み込みを確認する最も確実な方法は、要素が古くなったことを確認してから、新しい要素が読み込まれたことを確認することです。
elementToBeStale
「古い」ページに存在する要素 を選択します。これは、ページのリロード時に古くなると予想される要素です。
次に、リロード後にページに表示されると予想される要素を選択しますxPathOfElementToLoad
。これは、古くなると予想される要素と同じである可能性があることに注意してください。
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
、要素が古くなるのを待つことで要素が存在しなくなることが保証され、新しい要素が存在するのを待つことで新しいページがロードされることが保証されるためです。