Python+Selenium元素定位不到的问题及解决办法

在做Web自动化测试的时候经常会遇到元素定位不到的问题,结合实例总结一下原因和解决方法:

1.由于iFrame或者Frame的原因无法定位

实例:163邮箱登录页面,发现邮箱和密码的inputbox识别不到,登录btn也识别不到

初始脚本:

原因分析: 

查看页面发现是这三个元素是嵌入的iframe里边的,WebDriver只能识别一个页面中的元素,对于嵌入页面的元素是无法直接识别到的,如下图:

解决方案:

当元素处于iframe中,需要先跳转到iframe中才能被识别,如下:

调用_switch_to.frame()跳转进iframe。

driver.switch_to.parent_frame()切换到上一层frame

driver.switch_to.derault_content()跳回到最外层页面

猜你喜欢

转载自www.cnblogs.com/daisyatcnblog/p/12328977.html