NoSuchelementException这种报错一般都是因为定位不到元素导致的
可能出现这个问题的原因:
- 元素定位的属性不对,可能这个界面就没有这个属性
- 网络比较差,界面没有缓存成功导致元素定位不到
- 服务器有问题,导致元素没有定位到(也是网络导致的)
- 电脑配置原因
- 应用启动本来就需要等待(启动响应都需要时间的)
如果是网络问题,需要拥戴元素等待(等待元素出现,然后执行操作)
元素等待类型:
- 固定时间等待
import time#调用等待方法 time.sleep(5)#设置等待时间
- 隐式等待
driver.implicitly_wait(5)#隐式等待5秒
区别:
固定时间等待:需要固定等待10秒才能执行下一步操作
隐式等待:只要元素出现就可以执行下一步操作,并且在设置了超时时间之后,后续的所有元素定位都会在这个时间内等待元素的出现
备注:还有一个显式等待(我一般不用,建议直接百度搜索)