1.应用场景:如果在自动启动的一个浏览器窗口网页里做了一些操作,一般是点击超级链接或点击按钮等后,有一个新的浏览器窗口出现(新窗口也可能展示为一个新的浏览器标签页),就需要切换到新窗口里,才能操作其中的网页。
2.语法:driver.switch_to.window(窗口句柄)
3.窗口句柄(Window Handle):是窗口的唯一标识,操作系统在启动一个窗口时,就会给它分配一个新的窗口句柄。窗口句柄不是网页设计者在html里写的一个数据,所以我们测试人员也无法通过调查网页源代码来分析出这个数据。
#获取到最新的窗口句柄,也就是倒数第一个窗口
driver.switch_to.window(driver.window_handles[-1])
4.Selenium WebDriver里提供了两个属性用来记录窗口句柄的数据:这两个属性的值会随着每次运行程序的代码的执行过程变化。
(1)打印当前的窗口句柄
driver.current_window_handle
(2)打印所有的窗口句柄,是一个列表
driver.window_handles
(3) 获取最新的窗口句柄
driver.window_handles[-1]
5.说明:窗口句柄不能提前获得,必须在自动化程序代码运行起来以后,用Selenium WebDriver里提供的两个属性动态获得句柄相关的数据,才能使用排除法获得新窗口的句柄,来进行切换。
通