python自动化脚本初学记录之窗口切换

Posted AVICII_2018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python自动化脚本初学记录之窗口切换相关的知识,希望对你有一定的参考价值。

脚本过程:打开www.baidu.com点击hao123进入hao123页面(注意:并未出现新窗口),在hao123页面分别点击“头条新闻”,“人民网”,“新华网”,“央视网”,将会依次打开4个窗口,浏览器中一共有5个窗口,获取所有窗口句柄(使用driver.window_handles),然后使用driver.switch_to.window(handles[x])依次切换到每个窗口并打印窗口标题(页面标签),打印页面标签使用print(driver.title)。

 

如果打开多个浏览器窗口,即存在多个句柄,那么窗口和句柄对应关系如下:
例如:浏览器窗口打开顺序从左到右为:1,2,3,4,5  对应的句柄顺序为:0,4,3,2,1
driver.switch_to.window(handles[0]):切换到第1个窗口句柄(从左到右数第1个窗口,主页面)
driver.switch_to.window(handles[4]):切换到第2个窗口句柄(从左到右数第2个窗口)
driver.switch_to.window(handles[3]):切换到第3个窗口句柄(从左到右数第3个窗口)
driver.switch_to.window(handles[2]):切换到第4个窗口句柄(从左到右数第4个窗口)
driver.switch_to.window(handles[1]):切换到第5个窗口句柄(从左到右数第5个窗口)

 

说明:也可以这样理解,浏览器窗口打开顺序0,1,2,3,4   对应句柄顺序为0,4,3,2,1

driver.switch_to.window(handles[0]):切换到第0个窗口句柄(从左到右数第0个窗口,主页面)
driver.switch_to.window(handles[4]):切换到第1个窗口句柄(从左到右数第1个窗口)
driver.switch_to.window(handles[3]):切换到第2个窗口句柄(从左到右数第2个窗口)
driver.switch_to.window(handles[2]):切换到第3个窗口句柄(从左到右数第3个窗口)
driver.switch_to.window(handles[1]):切换到第4个窗口句柄(从左到右数第4个窗口)

 

以上是关于python自动化脚本初学记录之窗口切换的主要内容,如果未能解决你的问题,请参考以下文章

Python3-Selenium自动化测试框架之窗口切换等待

Selenium多窗口切换方法快速入门

Selenium2+python自动化13-多窗口句柄(handle)

python UI自动化实战记录八:脚本优化之添加配置

Pytho之Django

Python 第五阶段 学习记录之---Django 基础