Selenium でページの読み込み完了を確認する方法
Selenium には、Web ページが完全に読み込まれたかどうかを確認するためのさまざまな方法が用意されています。
ページ読み込みタイムアウト設定
pageLoadTimeout() メソッドを使用して、Selenium は指定されたタイムアウト内にページの読み込みが完了するのを待ちます。ただし、このメソッドはすべての場合に信頼できるわけではありません。
ページ読み込み戦略を通常に設定します
DesiredCapabilities クラスまたは ChromeOptions クラスを使用して、pageLoadStrategy を通常に設定できます。これにより、ブラウザは次のコード行を実行する前に document.readyState が「完了」になるまで待機するようになります。
JavaScript と Ajax の呼び出しを待機しています
待機するにはすべての JavaScript および Ajax 呼び出しを完了するには、jQuery.active をチェックするカスタム関数を使用できます。 property:
public void waitForAjax2Complete() throws InterruptedException { while (true) { if ((Boolean) ((JavascriptExecutor)driver).executeScript("return jQuery.active == 0")){ break; } Thread.sleep(100); } }
ExpectedConditions の使用
ExpectedConditions クラスを使用すると、続行する前に特定の条件が満たされるまで待機できます (ページ タイトルに特定の条件が含まれるなど)。文字列:
new WebDriverWait(driver, 10).until(ExpectedConditions.titleContains("partial_title_of_application_under_test"));
または特定の可視性element:
WebElement ele = new WebDriverWait(driver, 10).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("xpath_of_the_desired_element")));
結論
Selenium にはページが完全に読み込まれたかどうかを確認する汎用関数はありませんが、上記のアプローチはさまざまな用途に効果的なソリューションを提供します。使用例。ページの読み込み戦略を検討し、JavaScript と Ajax の呼び出しを待機するか、ExpectedConditions を使用することにより、続行する前にテストが適切な条件を待機していることを確認できます。
以上がSelenium で Web ページの読み込み完了を確実に判断するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。