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

Posted daisyatcnblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()跳回到最外层页面

 

以上是关于Python+Selenium元素定位不到的问题及解决办法的主要内容,如果未能解决你的问题,请参考以下文章

selenium+Python页面元素定位问题

selenium+python涉及到可能定位不到元素的问题,可以参考下方的链接

Selenium WebDriver定位不到元素的原因及解决办法

python3+selenium百度知道回答问题输入框这个元素定位不到,求方法 解决了肯定高悬赏加采纳?

selenium webdriver定位不到元素的五种原因及解决办法

转载:selenium webdriver定位不到元素的五种原因及解决办法