Selenium即驱动程序无法切换到窗口弹出窗口

时间:2013-06-17 13:06:22

标签: selenium

尝试使用ieDriver.switchTo().window(windowHandle)方法切换到弹出窗口但我的测试脚本停止并且不继续。

当我手动关闭窗口时,我收到错误

org.openqa.selenium.NoSuchWindowException: Unable to get browser

我知道窗口存在,因为我使用ieDriver.getWindowHandles()方法来检索它。

我所有的保护模式设置都是一样的,我甚至尝试使用'INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS'技术无效。还有其他建议吗?

我在Windows 7计算机上使用IE9运行selenium 2.32.0。

3 个答案:

答案 0 :(得分:1)

以上代码用于处理窗口弹出窗口。 如果您想处理警报或确认弹出窗口等javascript弹出窗口,则需要使用

  

driver.SwitchTo.alert()接受();

  

driver.SwitchTo.alert()驳回();

希望它能帮到你

答案 1 :(得分:0)

也许用iframe生成弹出窗口,然后你必须使用switchTo.frame();

答案 2 :(得分:0)

您应该执行以下操作:

  WebDriverWait webDriverWait= new WebDriverWait(driver, 5000);
  webDriverWait.until(ExpectedConditions.alertIsPresent());
  driver.switchTo().alert().accept();

首先,您将初始化一个WebDriverWait对象,该对象将允许您等到满足某些条件,在这种情况下 - 存在警报。 然后,驱动程序将切换到此警报,