如何使用Selenium处理PopUpWindow

时间:2012-04-24 07:08:39

标签: java javascript firefox selenium

我尝试用PopUp / new Window处理Java中的特定SeleniumServer,但它不起作用。 我做完了:

selenium.click("css=a[title=\"Some irrelevant title\"] > div.text");
Thread.sleep(5000);
    for (String s : selenium.getAllWindowNames()) {
    if (s.contains("_blank")) {
    selenium.selectWindow("name=" + s);
    selenium.windowMaximize();

    }
}

但它无法识别新窗口。如果我使用getAllWindowIDs或名称或标题,它只返回一个主窗口。

如果我使用selenium.waitForPopUp("foobar", "9999"),它会在超时后失败,这就是我使用常规Thread.sleep()的原因。

我还能做什么?

2 个答案:

答案 0 :(得分:0)

首先手动完成,点击弹出窗口后的按钮,只需使用selenium ide记录弹出窗口中的内容..如果你得到窗口id r title,则在“waitforpopup”命令中使用“id”。

答案 1 :(得分:0)

这可以提供帮助:

selenium.RunScript("selenium.browserbot.findElement('css=a[title='Some irrelevant title']').target='my_window'");
selenium.RunScript("window.open('', 'my_window')");
selenium.click("css=a[title='Some irrelevant title']");
selenium.selectWindow("my_window");
selenium.waitForElementPresent("element_locator_at_popup")