1

我的 Selenium Webdriver 测试类似于:

  • 单击按钮->这将打开弹出窗口
  • 遍历所有窗口句柄并切换到弹出窗口
  • 在弹出窗口中填写表格并提交。

此时,如果输入有效,弹出窗口可能会自动关闭,如果表单出现错误,它将保持打开状态。

我的问题是,如果窗口自动关闭并且那是我关注的窗口句柄,究竟会发生什么?有没有办法让我检测到窗口已关闭?

谢谢

4

2 回答 2

0

如果焦点窗口关闭,则Web Driver实例没有焦点在任何窗口上,如果您试图查找任何元素,它会引发异常。NoSuchElementException当你试图找到一个元素时它会抛出。您可以通过计算窗口数量来检查窗口是否存在。

于 2013-02-06T04:18:00.583 回答
0

即使窗口自动关闭,窗口句柄也会保留弹出窗口的记录。所以你必须切换到父窗口。然后使用 Windows.title 的 print 语句来检查打开了哪个窗口。

于 2017-06-07T14:56:07.503 回答