4多窗口切换,句柄(handle)

Posted yhms

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4多窗口切换,句柄(handle)相关的知识,希望对你有一定的参考价值。

前言:有些页面的链接打开后,会重新打开一个窗口,对亍返种情冴,想 在新页面上操作,就得先凿换窗口了。获叏窗口的唯一标识用句柄表示, 所以叧需要凿换句柄,我们就能在多个页面上灵活自如的操作了

一、认识多窗口

1、打开https://www.hao123.com,点击“人民网”,会多出一个窗口标签,如下图:
技术图片

2、我们用代码去执行点击的时候,収现界面上出现两个窗口,如下图返种情况就是多窗口了:

技术图片

 

 

3、以上2个图,手工点击是 2 个标签,脚本点击就变成 2 个窗口了,脚本执行是不加载配置的, 手工点击是浏览器默认设置了新窗口打开方式为标签,返里用鼠标按住第二个标签,拖拽出来,也就变成 2 个窗口了,是一回事 

4、元素有属性,浏览器的窗口其实也有属性的,只是你看不见,浏 览器窗口的属性用句柄(handle)来识别,人为操作的话,可以通过眼睛看,识别不同的窗口点击切换。但是脚本不知道你要操作哪个窗口,这时候只能句柄来判断了

 二、获取句柄、切换窗口

获取当前窗口的句柄:driver.current_window_handle

技术图片

获取所有窗口的句柄:driver.window_handles,点击 人民网 和 新华网 后,获取所有的句柄:

技术图片

 

 

 切换窗口句柄:switch_to.window()

技术图片

 

 

 

 

 

 

以上是关于4多窗口切换,句柄(handle)的主要内容,如果未能解决你的问题,请参考以下文章

多窗口切换

web自动化如何实现多窗口切换?

selenium 多窗口切换

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

python+selenium五:多窗口切换与获取句柄

Selenium 多窗口,网页frame 处理,多浏览器