python selenium + web自动化,切换到新的窗口,元素定位不到?


问题描述:

自动化由首页切换到分页面,打开了一个新的窗口,不过,定位不到这个窗口的元素,通过开发者工具是可以查到这个元素的

原因是:

因为窗口句柄还停留在上一个页面,所以导致无法定位元素。报错 “元素不可交互”。

因此要解决的问题就是先定位到当前页面(也就是跳转后的页面)然后再进行元素的定位。

 

几种常见的窗口句柄操作:

handles = driver.window_handles #获取当前浏览器的所有窗口句柄
driver.switch_to.window(handles[-1]) #切换到最新打开的窗口
driver.switch_to.window(handles[-2]) #切换到倒数第二个打开的窗口
driver.switch_to.window(handles[0]) #切换到最开始打开的窗口

实现代码:

封装了一个方法,进行切换窗口,输入new时,判断一下,当前是否有新的窗口出现,有新的窗口出现,即打开新的窗口

windows_handles[-1]:最新的窗口

 

 

 实际应用:传入new,切换到一个新的窗口

 

 

 


原文链接:https://blog.csdn.net/weixin_45287079/article/details/110387251


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM