【Selenium】Python自动化测试定位失败的原因以及解决方案

报错内容

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element
无此类元素:无法定位元素

在这里插入图片描述

自动化测试定位失败的原因

被定位的元素在网页上是动态渲染的,加载这个元素需要一定的时间
自动化程序跑的比网站更快,导致报错的出现。

上面这个原因也是很多同学在自动化测试中经常出现的问题。

自动化测试定位失败的解决方案

首先从原因分析一下,既然是加载元素需要时间,那么我们就让程序跑慢点,给网页足够的加载时间。
下面是具体的解决方案:
driver.implicitly_wait(10) 
# 把代码放在 driver.get() 之前或者之后 都可以
# 引入以上代码可以解决元素加载太慢的问题
# 上面这串代码的意思是 当元素不存在的时候会等待元素出现再执行下一步,等待的时间就是括号内填的参数10,10代表最多等待十秒,当网页的元素在10秒内出现 就会执行 并提前结束跳过等待。
正常的情况下用以上方案就可以解决自动化过程中遇到的90%元素定位失败的问题
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值