selenium 源码通读·2 | common/exceptions.py 异常类
1 异常类基类
common/exceptions.py
目录定义了各种异常类;其中
WebDriverException
为基类;源码如下:
复制代码
2 基类分析
从后边的异常类可以看出,都是继承了以上的基类;
而这个基类中有三个参数:
复制代码
此外还定义了“魔法”方法
__str__
,用来返回一个对象的描述信息
复制代码
从
__str__
中可以看出返回的是异常信息exception_msg
,而其初始值为msg
,当screen
和stacktrace
都不为空的时候,exception_msg
为其它两个参数的拼接。
3 常见异常类 NoSuchElementException 分析
我们在做自动化的时候,经常会遇到的异常是,元素没有找到,那么它的异常类就是
NoSuchElementException
;NoSuchElementException
源码如下:
复制代码
该异常类的说明如下:
1、找不到元素时引发
2、如果遇到此类异常,可能需要检查以下内容:
A、检查 find_by 中使用的选择器;
B、元素在查找操作时可能尚未出现在屏幕上,(网页仍在加载)请参阅 selenium。网络驱动程序。支持等待 WebDriverWait()了解如何编写等待包装器以等待元素出现
返回结果:
pass
,这里只是进行占位,说明具体的功能应该在以后的子类中进行。
4 所有异常类说明和分解
注意:以下为源码中的针对说明,英文不好,翻译的可能有问题,但大体意思基本没有问题。
版权声明: 本文为 InfoQ 作者【虫无涯】的原创文章。
原文链接:【http://xie.infoq.cn/article/02e304a8a6520e17842f4dfca】。文章转载请联系作者。
评论