selenium|selenium运行常见的报错问题--让你及时发现问题的所在
前面也学了很多的selenium元素定位了,相信肯定也是遇到了很多的问题,此处列举出一些,来看看是否有你遇到过的还未解决的吧。
selenium.common.exceptions.WebDriverException(msg=None, screen=None, stacktrace=None)
描述:WebDriver基础的异常类
解决思路:检查驱动版本与浏览器版本
selenium.common.exceptions.TimeoutException(msg=None, screen=None, stacktrace=None)
描述:在足够的时间内没有完成某项操作
解决思路:适当的增加时长,等待界面元素的渲染
selenium.common.exceptions.NoSuchElementException(msg=None, screen=None, stacktrace=None)
描述:定位元素不被找到
【selenium|selenium运行常见的报错问题--让你及时发现问题的所在】解决思路:检查是否写错了元素,更换定位元素
selenium.common.exceptions.NoSuchAttributeException(msg=None, screen=None, stacktrace=None)
描述:元素属性不能被找到
解决思路:检查是否写错了元素属性
selenium.common.exceptions.NoAlertPresentException(msg=None, screen=None, stacktrace=None)
描述:切换到alert弹窗,alert并没有弹出
解决思路:增加等待时间
selenium.common.exceptions.NoSuchFrameException(msg=None, screen=None, stacktrace=None)
描述:没有iframe窗口
解决思路:检查是否存在此类窗口
selenium.common.exceptions.InvalidElementStateException(msg=None, screen=None, stacktrace=None)
描述:元素无效
解决思路:更改定位元素
selenium.common.exceptions.ElementNotSelectableException(msg=None, screen=None, stacktrace=None)
描述:元素不能被选中
解决思路:检查是否是元素是否写错,检查属性
selenium.common.exceptions.ElementNotVisibleException(msg=None, screen=None, stacktrace=None)
描述:元素不可见,不能操作
解决思路:检查元素是否带有display:none属性
selenium.common.exceptions.InvalidSwitchToTargetException(msg=None, screen=None, stacktrace=None)
描述:切换窗口或框架不存在
解决思路:检查页面元素,查看是否存在此类窗口或检查定位元素
selenium.common.exceptions.NoSuchWindowException(msg=None, screen=None, stacktrace=None)
描述:目标窗口不存在
解决思路:打印窗口信息,核对切换的窗口是否存在
引发上述问题的根源,在这博主说一下:
1、元素不存在,无法定位到,遇到这类问题,很大的可能性就是你定位的元素,你自己写错了定位方式或属性 。一个界面可能存在多个相同的元素属性,所以,定位前别着急,在元素界面搜索一下看看是否有存在同名。
2、元素存在,但定位表达式有问题,没有定位到该元素,这类问题应该还是很常见的。特别是小白学习的阶段,所以要细心了。
3、页面加载过久,元素还没加载出来,所以定位失败,这类问题,你需要设定好等待时间,元素界面的渲染完成还是很重要的。对于这类问题,可以看看这篇文章:开学了软测的同学快来--selenium,必须要知道的操作-等待时间及窗口操作-详解+项目实战_清欢无别事-CSDN博客
这篇文章也是博主自己写的,可得好好看了。除了上述的问题之外,其实还有很多的元素定位问题,可以集大家的留言,后续博主再添加上来。
另外,解决思路不唯一,所以这不是唯一的方案。如有更好的解决方法,欢迎私信,留言。或添加博主微信qing_an_an。
推荐阅读
- 唱歌教学(导致嗓音损坏的几个常见的错误唱歌方法!)
- Hive常见问题汇总
- JS常见数组操作补充
- 孕期妈妈们常见的几个误区
- jvm常见分析工具
- redis|redis 常见问题一
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)
- 运行报错Cannot|运行报错Cannot find module '@babel/compat-data/corejs3-shipped-proposals’
- 戒掉花呗吧
- Spring|Spring Aop常见注解与执行顺序详解