有时候我们在测试一个web 应用时会出现多个浏览器窗口的情况 。webdriver 提供了相关相方法可以很轻松的在多个窗口之间切换并操作不同窗口上的元素。
要想在多个窗口之间切换,首先要获得每一个窗口的唯一标识符号(句柄)。通过获得的句柄来区别分不同的窗口,从而对不同窗口上的元素进行操作
处理过程:
这个处理过程相比我们前面的元素操作来说稍微复杂一些,执行过程为:首选通过nowhandle 获得当前窗口(百度首页)的句柄;然后,打开注册窗口(注册页),后面一个要加个等待时间,等待窗口完全打开;此时共有两个页面,通过allhandles 获得所有窗口的句柄;对所有句柄进行循环遍历;判断窗口是否为nowhandle(360登录中心首页),如果不是则获得当前窗口(注册页)的句柄;然后,对注册页上的元素进行操作。最后,回返到首页。
方法:
current_window_handle--------------------获得当前窗口句柄
window_handles-------------------------------获得所有窗口的句柄,返回一个列表
switch_to_window(“句柄”)-------------------切换窗口
close()------------------------------------------关闭当前窗口
quit()---------------------------------------------关闭所有窗口
网友评论