phpwebdriverを用いて自動テストをしている時に、 ボタンをクリックして新規タブに移行することがあります。 この時にphpwebdriverの方でも対象となるウィンドウを切り替える必要があります。
新しくできたタブに切り替えるには、
$handles = $driver->getWindowHandles();//今開いているすべてのタブを取得している $driver->switchTo()->window(end($handles));//最後にできたタブに自動テストの対象を切り替えている。 //フレームに切り替える時 $my_frame = 'id_or_name'; $driver->switchTo()->frame($my_frame);
このようにすることができます。
また、findElementでタグを取得する時、idやnameが設定されていない時、 xpathを指定して取得することができます。 xpathはChromeのデベロッパーツールで簡単に取得することができます。 メッセンジャーのパスワードの入力欄を指定したい時は、
要素を右クリックして、
Copy->Copy Xpathでクリップボードにコピーされます。
//*[@id="pass"]