欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

web自动化-窗口句柄及位置变化

程序员文章站 2022-06-23 23:19:53
在进行web自动化时,很容易会遇到多窗口进行切换测试,下面就对多窗口的一些句柄和切换及窗口句柄顺序简单总结一下 打开百度网页后,我们手动选择几个链接并打开,新打开的窗口全部在tab签上按打开顺序从左至右排开 实际打开的三个窗口为: 我们一获取一个窗口的句柄,得出的是一个列表 我们把窗口位置 调整一下 ......

在进行web自动化时,很容易会遇到多窗口进行切换测试,下面就对多窗口的一些句柄和切换及窗口句柄顺序简单总结一下

1 from selenium import webdriver
2 driver = webdriver.firefox()
3 driver.get("https://www.baidu.com")

打开百度网页后,我们手动选择几个链接并打开,新打开的窗口全部在tab签上按打开顺序从左至右排开

实际打开的三个窗口为:

web自动化-窗口句柄及位置变化

 

我们一获取一个窗口的句柄,得出的是一个列表

>>> driver.window_handles
['6442450945', '6442450950', '6442450962']

 

我们把窗口位置 调整一下,把百度首页移动到最后

web自动化-窗口句柄及位置变化

 

再次获取窗口句柄,发现也跟着变化了

>>> driver.window_handles
['6442450950', '6442450962', '6442450945']

 

由此可见窗口的句柄排列顺序是按照浏览器tab栏从左往右开始统计,比如我要切换到最后一个窗口

>>> driver.switch_to_window(driver.window_handles[-1])  #通过索引方式进行窗口选择
>>> driver.switch_to_window('6442450962') # 直接通过窗口的句柄名称进行选择