[selenium webdriver Java]处理弹出窗口

Selenium WebDriver测试弹出窗口,包括识别弹出窗口,将driver转到新的窗口,在新的串钩中执行而是步骤,然后再转换到最初的窗口。

通过名称(name)识别和处理:

Selenium WebDriver允许我们通过name属性或窗口的句柄来识别窗口,然后通过WebDriver.switchTo().window()方法在不同的窗口之间进行切换。

window name属性的定义

name 属性可设置或得到窗口的名称,其值为字符串。语法如下:

 window.name = [name]

该名称是在 open() 方法创建窗口时指定的   或者   使用一个 <frame> 标记的 name 属性指定的,默认情况下 name 属性值是为空的。

提示:窗口的 name 属性可以用于 <a> 或 <form> 标签的 target 属性值,这样表示 超链接文档 或 表单   提交结果应该显示于指定 name 的窗口或框架中。

个人感觉这个name属性不太常见,大部分网站都是默认值,即空。可以在控制台输入js命令,查看当前页面的name属性值,命令是:window.name

通过标题(title)识别和处理:

很多时候开发人员并没有给弹出的窗口分配一个name属性。这种情况下,我们可以使用handle属性。但是handle属性是不停变化的,这样识别窗口变的有些困难,尤其是多个窗口的时候。我们使用handle和title来识别一个弹出窗口。