1. ホーム
  2. java

JavaでSelenium WebDriverを使用してタブを切り替える

2023-10-16 08:45:16

質問

JavaでSelenium WebDriverを使用しています。 私は新しいタブを開き、そこでいくつかの操作を行い、前のタブ(親)に戻る必要がある機能を自動化しようとしています。 私はスイッチハンドルを使用しましたが、それは動作しません。 そして、1つの奇妙なことは、2つのタブが同じウィンドウハンドルを持ち、そのために私はタブを切り替えることができません。

しかし、私が異なる Firefox ウィンドウで試しているとき、それは動作しますが、タブについては動作しません。

タブを切り替えるにはどうしたらよいでしょうか。 あるいは、私の場合、ウィンドウハンドルは両方のタブで同じなので、ウィンドウハンドルを使用せずにタブを切り替えるにはどうしたらよいでしょうか。

(同じウィンドウで異なるタブを開いた場合、ウィンドウ ハンドルは同じままであることを確認しました)

どのように解決するのですか?

    psdbComponent.clickDocumentLink();
    ArrayList<String> tabs2 = new ArrayList<String> (driver.getWindowHandles());
    driver.switchTo().window(tabs2.get(1));
    driver.close();
    driver.switchTo().window(tabs2.get(0));

このコードは完全に私のために働いた。試してみてください。新しいタブで何かをする前に、常にドライバを新しいタブに切り替える必要があります。