Selenium でタブとウィンドウを追跡および反復する最良の方法 (WindowHandles を使用)
ソフトウェアのテストでは、複数のタブやウィンドウを追跡するのが難しい場合があります。 Selenium は、この問題を管理するために WindowHandles プロパティを提供しますが、その予測できない並べ替え順序が欠点になる可能性があります。
WindowHandle の順序のランダム性
上記の説明で述べたように、Selenium はウィンドウ ハンドルの順序がウィンドウが作成された順序であることを保証しません。このランダム性により、ウィンドウを希望の順序で反復することが困難になります。
代替案
この問題を解決するには、より信頼性の高い方法を使用できます:
次は、Java、WebDriver 3.5.3、および IEDriverServer 3.5.0.0 で書かれた例です。
<code class="language-java">WebDriverWait wait = new WebDriverWait(driver, 5); wait.until(ExpectedConditions.numberOfWindowsToBe(2)); Set<String> s1 = driver.getWindowHandles(); Iterator<String> i1 = s1.iterator();</code>
これらの手順に従うことで、複数のタブとウィンドウをより効率的に管理し、予測可能な繰り返しと切り替え動作を保証できます。
以上がSelenium ウィンドウ ハンドルを確実に追跡および反復するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。