在进行web自动化时,很容易会遇到多窗口进行切换测试,下面就对多窗口的一些句柄和切换及窗口句柄顺序简单总结一下
代码语言:javascript复制1 from selenium import webdriver
2 driver = webdriver.Firefox()
3 driver.get("https://www.baidu.com")
打开百度网页后,我们手动选择几个链接并打开,新打开的窗口全部在tab签上按打开顺序从左至右排开
实际打开的三个窗口为:
我们一获取一个窗口的句柄,得出的是一个列表
代码语言:javascript复制>>> driver.window_handles
['6442450945', '6442450950', '6442450962']
我们把窗口位置 调整一下,把百度首页移动到最后
再次获取窗口句柄,发现也跟着变化了
代码语言:javascript复制>>> driver.window_handles
['6442450950', '6442450962', '6442450945']
由此可见窗口的句柄排列顺序是按照浏览器tab栏从左往右开始统计,比如我要切换到最后一个窗口
代码语言:javascript复制>>> driver.switch_to_window(driver.window_handles[-1]) #通过索引方式进行窗口选择
>>> driver.switch_to_window('6442450962') # 直接通过窗口的句柄名称进行选择