属性の使用が非常に重要です。ただし、ウィンドウハンドルの予想される順序が不安定な場合、一般的な問題が発生します。この記事では、この問題を解決し、より効果的なソリューションを調査する方法を紹介します。 ウィンドウハンドルの順序のランダム性期待とは対照的に、
の順序は安定していません。 WebDriverは、挿入順序を保証することなく、何らかの形で反復を実装します。これにより、複数のウィンドウを効果的に管理し、それらを切り替えることが難しくなる可能性があります。 WindowHandles
ソリューションは、
guidをキーとして使用し、対応するページタイプを値として使用して辞書を作成することです。この方法により、ウィンドウ間の正しい切り替えが保証されます。ただし、特にウィンドウを閉じるときは、追加のメンテナンスが必要です。
WindowHandles
webdriverwaitの紹介
より良い方法は、を使用することです。これにより、を収集する前に一時停止できます。一連のシリアルリストを作成するたびに、新しいラベル/ウィンドウを収集して収集し、
を使用して必要なウィンドウに切り替えることができます。
WindowHandle
実装の例以下は、Javaの実装の例です。
このコードは、複数のタブを自動的に開き、ロードするのを待ち、次に秩序あるリストで対応するウィンドウに切り替えます。
結論WebDriverWait
WindowHandles
辞書ウィンドウ管理を使用することは実行可能ですが、新しいタブページを作成するときにswitchTo().window(newly_opened)
の導入と収集
以上がSelenium WindowHandles を予測不可能な順序で効率的に追跡および反復処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。