ホームページ > Java > &#&チュートリアル > Selenium で Web ページの読み込み完了を確実に判断するにはどうすればよいですか?

Selenium で Web ページの読み込み完了を確実に判断するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-20 12:45:24
オリジナル
270 人が閲覧しました

How to Reliably Determine Web Page Load Completion in Selenium?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート