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()

猜你喜欢

转载自www.cnblogs.com/yhms/p/11788505.html