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

Selenium で完全なページの読み込みを確実に確認するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-22 15:25:18
オリジナル
778 人が閲覧しました

How Can I Reliably Check for Complete Page Load in Selenium?

Selenium でのページの読み込みステータスの確認

Selenium では、Web ページが完全に読み込まれたかどうかを確認することが一般的な要件です。この機能を実装する際、ユーザーは既存のソリューションで問題に遭遇することがよくあります。

汎用関数の可用性

残念ながら、Selenium には、ページが有効かどうかを直接チェックする汎用関数はありません。

ページ読み込み戦略と JavaScript Execution

コードの試行では、pageLoadTimeout と document.readyState の評価を使用しました。ただし、ページ読み込み戦略は、Selenium がページが完全に読み込まれたとみなすタイミングを制御しますが、すべての要素が存在することは保証されません。 document.readyState が「完了」するまで待機することは、HTML 構造が利用可能であることを示すだけです。

完全なページの読み込みを待機しています

確実にするには、より包括的なアプローチが必要です。すべてのページ要素が表示され、読み込まれます。

ページの読み込みStrategy

DesiredCapabilities または ChromeOptions を使用してページ読み込み戦略を「normal」に設定すると、document.readyState が「complete」になったときのキャプチャが容易になります。ただし、これでもすべてのリソースがロードされることは保証されません。

動的要素待機中

JavaScript および Ajax 呼び出しを使用する動的ページの場合、次の関数を使用して、完了を待ちます:

public void WaitForAjax2Complete() throws InterruptedException {
    while (true) {
        if ((Boolean) ((JavascriptExecutor)driver).executeScript("return jQuery.active == 0")) {
            break;
        }
        Thread.sleep(100);
    }
}
ログイン後にコピー

予想通り条件

titleContains() や VisibilityOfElementLocated() などの ExpectedConditions で WebDriverWait を使用すると、それぞれ、ページ タイトルが表示されるか、特定の要素にアクセスできることを確認できます。

new WebDriverWait(driver, 10).until(ExpectedConditions.titleContains("partial_title_of_application_under_test"));
ログイン後にコピー

結論

Web ページがSelenium に完全にロードするには、ページ読み込み戦略、動的コンテンツの待機、特定の要素が使用可能であることの確認など、多面的なアプローチが必要です。独自の実装を強化するために、提供されている例とリファレンスを検討してください。

以上がSelenium で完全なページの読み込みを確実に確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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