17
Selenium WebDriver:JavaScriptを含む複雑なページが読み込まれるのを待つ
SeleniumでテストするWebアプリケーションがあります。ページの読み込み時に実行されるJavaScriptはたくさんあります。 このJavaScriptコードはあまりよく書かれていませんが、何も変更できません。したがって、DOM with findElement()methodに要素が表示されるのを待つことはオプションではありません。 Javaで汎用的な関数を作成して、ページの読み込みを待機したいのですが、可能な解決策は次のとおりです。 WebDriverからJavaScriptスクリプトを実行し、結果をdocument.body.innerHTML文字列変数に格納しますbody。 body変数を以前のバージョンのと比較しますbody。それらが同じ場合は、カウンターをインクリメントし、notChangedCountそれ以外の場合notChangedCountはゼロに設定します。 少し待ってください(たとえば50ミリ秒)。 ページが一定時間(たとえば500ミリ秒)変更されていない場合はnotChangedCount >= 10、ループを終了します。それ以外の場合は、最初のステップに戻ります。 それは有効な解決策だと思いますか?