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.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。

你可能感兴趣的:(selenium,selenium)