Java の Selenium WebDriver を使用したタブの切り替え
Java を使用した Selenium WebDriver では、複数のタブが関係するシナリオを自動化すると、次のような問題が発生する可能性があります。同じウィンドウ ハンドルを共有する可能性があります。これにより、デフォルトのスイッチ ハンドル メソッドを使用してタブ間を切り替える試みが妨げられる可能性があります。
問題:
提供されたコードは、新しいタブを開くことを含むプロセスを自動化しようとします。その中でアクションを実行し、元のタブ (親) に戻ります。ただし、両方のタブが同じウィンドウ ハンドルを共有しているため、ハンドルを切り替えるアプローチは成功しません。この問題は、別個の Firefox ウィンドウを使用する場合とは異なり、同じウィンドウ内のタブを処理する場合に特に発生します。
解決策:
このようなシナリオでタブ間を効果的に切り替えるには、次のアプローチを使用できます:
コード例:
psdbComponent.clickDocumentLink(); ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles()); driver.switchTo().window(tabs.get(1)); driver.close(); driver.switchTo().window(tabs.get(0));
これらの手順に従うことで、同じウィンドウ ハンドルを共有している場合でも、タブ間を正常に切り替えることができます。ドライバ内でアクションを試みる前に、必ずドライバを新しいタブに切り替えてください。
以上が同じウィンドウ ハンドルを共有しているときに Selenium WebDriver のタブを切り替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。