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);で元のタブに切り替える