PHPのSeleniumで2つのタブの切り替えを行う方法。
$url = "https://www.google.com/"
$main = $driver->getWindowHandle();
$sub = null;
$driver->executeScript("window.open(\". $url . "\", null, null)");
foreach ( $driver->getWindowHandles() as $handle ) {
if ( $handle != $main ) {
$sub = $handle;
}
}
$driver->switchTo()->window($sub);
/* やりたい処理 */
$driver->close();
$driver->switchTo()->window($main);
自分のためのめも
-
$driver->executeScript( ~~ );
で新しいタブを開く -
foreach ( ~~ )
では全ウィンドウハンドルを取得して、新しいタブのウィンドウハンドルを$sub
に格納 -
$driver->switchTo()->window($sub);
で$sub
(新しいタブ)に切り替え -
$driver->close();
で新しいタブを閉じる -
$driver->switchTo()->window($main);
で元のタブに切り替える