无法关闭webdriver中的窗口弹出窗口,无法切换到警报

时间:2013-07-18 14:53:57

标签: webdriver selenium-webdriver

情景:

  1. 在文本框中输入关键字(位置)
  2. 按Tab或单击下一个元素
  3. 出现一个窗口弹出
  4. 将列出符合条件的职位列表
  5. 点击所需记录
  6. 弹出窗口自动关闭
  7. 将显示警报
  8. 点击警报的确定按钮。
  9. 切换到主窗口并检查位置详细信息
  10. 问题: - 我在网站上找到了很多解决方案,但都是关于在窗口弹出窗口上执行操作并关闭弹出窗口然后切换到警报或主浏览器

    但我的应用程序在选择后会自动关闭弹出窗口,因此我无法使用driver.close()或driver.switchto.defaultContent()。

    如果我不关闭驱动程序(弹出窗口)我无法识别弹出窗口后显示的下一个警报。

    如果我直接切换到mainwindhandle,则发生警报解除而不是接受。

    任何知道如何从窗口弹出窗口切换到警报但没有弹出窗口关闭帮助的人都需要...

    谢谢....

2 个答案:

答案 0 :(得分:0)

This对您有所帮助。从您的问题来看,即使您的弹出窗口自动关闭,您也必须能够通过切换回它来访问您的父窗口元素。不需要driver.close()。这是代码,

// do something with the pop up and it closes automatically here.
driver.switchTo().defaultContent();
driver.switchTo().frame("your parent window mainframe"));
// try to access your parent window element here 

答案 1 :(得分:0)

  1. 如果您尝试接受警告解除,为什么不使用 alert.dismiss() ,它可能会接受在您的上下文中提醒。

  2. 切换到弹出窗口时,驱动程序焦点位于弹出窗口中。您可能想要做的是,在单击所需记录后,切换到主窗口然后接受警报。