「getWindowHandle」実行でウインドウハンドルを取得できます。
ウインドウハンドルとはウインドウ(ブラウザ)を識別する為の識別情報です。Seleniumでは、このウインドウハンドル使ってウインドウを切り替えることが出来ます。具体的にはswitchTo.window(xxx)でxxxの部分にウインドウハンドルを指定することで制御したいウインドウの切り替えを行います。
「getWindowHandle」と同じくウインドウハンドルを取得するメソッドに「getWindowHandles」がありますが、前者はカレントウインドウ(制御対象になっているウインドウ)のみのハンドルを取得するのに対し、後者はカレントセッション(指定したインスタンス)全てのハンドルを取得するという違いがあります。
説明
◆メソッド ・java.lang.String getWindowHandle() ◆使用形態 ・driver.getWindowHandle() ◆備考 ・指定したインスタンスでカレントウインドウのハンドルのみを取得する ◆関連項目 ・複数のウインドウハンドルを取得する ・ウィンドウの位置を取得する
サンプル
import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class WebTest{ public static void main(String[] args){ //Chrome制御のためChromeDriverのパスを指定 System.setProperty("webdriver.chrome.driver", "D:\\AutoTest\\chromedriver.exe"); //Chromeを起動する WebDriver driver = new ChromeDriver(); //指定したURLに遷移する driver.get("https://www.google.co.jp"); //カレントページのウインドウハンドルを取得して表示 System.out.println(driver.getWindowHandle()); } }
※selenium version 4.1.4で動作確認をしています(ブラウザのUIや属性値などが変更された場合、実行結果が異なる可能性があります)
実行結果
CDwindow-1234f5dd-ea88-3456-89aa-00bbaa456789
動画デモ
※字幕をONにすると解説のテロップが表示されます※