Selenium の selectWindow でエラーになるよ

Selenium で selectWindow した場合に以下のエラーとなることがありました。解決方法のメモです。

Window does not exist. If this looks like a Selenium bug, make sure to 
read http://seleniumhq.org/docs/04_selenese_commands.html#alerts-popups-
and-multiple-windows for potential workarounds. 

a タグで target 名を指定してポップアップするとダメなようです。


ここらへん http://code.google.com/p/jira-to-google-code/issues/detail?id=230 で語られており、Window ではなく tab でひらいているため winId が同じになるといった内容で、解決方法として次のように示されています。

  1. link 見つける
  2. link の target attribute を除去する
  3. href の遷移先を変数 (myUrl) にコピーする
  4. link の href を javascript:window.open(myUrl,'myWindow') に変更する
  5. link をクリックする
  6. "myWindow" を selectWindow する


のようにありますが、以下のような感じでいけました。

String myUrl = selenium.getEval("this.page().findElement('link=click here').href");
selenium.openWindow(myUrl, "myWindow");
selenium.selectWindow("name=myWindow");