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 が同じになるといった内容で、解決方法として次のように示されています。
- link 見つける
- link の target attribute を除去する
- href の遷移先を変数 (myUrl) にコピーする
- link の href を javascript:window.open(myUrl,'myWindow') に変更する
- link をクリックする
- "myWindow" を selectWindow する
のようにありますが、以下のような感じでいけました。
String myUrl = selenium.getEval("this.page().findElement('link=click here').href"); selenium.openWindow(myUrl, "myWindow"); selenium.selectWindow("name=myWindow");