selenium的基本使用方法30篇文章罗列的差不多,这篇文章主要把常见的异常文件,以便我们更好的理解问题并解决问题。
【之前的系列文章为了统一性和连贯性,一直使用腾讯企业邮箱,接下的可能有些就不在使用该案例。】
异常 | 描述 |
WebDriverException | 所有webdriver异常的基类,当有异常且不属于下列异常时抛出 |
InvalidSwitchToTargetException | 下面两个异常的父类, switch切换目标不存在时抛出 |
NoSuchFrameException | 使用switch_to.frame()切入某个不存在的frame时抛出 |
NoSuchWindowException | 使用switch_to.window()切入某个不存在的window时抛出 |
NoSuchElementException | 元素不存在,一般由find_element与find_elements抛出 |
NoSuchAttributeException | 一般获取不存在的元素属性时抛出,要注意有些属性在不同浏览器里是有不同的属性名的 |
StaleElementReferenceException | 指定的元素过时了,不在现在的DOM树里了,可能是被删除了或者是页面或iframe刷新了 |
UnexpectedAlertPresentException | 出现了意料之外的alert,阻碍了指令的执行时抛出 |
NoAlertPresentException | 想要获取alert,但实际没有alert出现时抛出 |
InvalidElementStateException | 下面两个异常的父类,当元素状态不能进行想要的操作时抛出 |
ElementNotVisibleException | 元素存在,但是不可见,不可以与之交互 |
ElementNotSelectableException | 选择一个不可被选择的元素时抛出 |
InvalidSelectorException | 使用xpath语法错误的时候抛出这个错 |
InvalidCookieDomainException | 在非当前url的域里添加cookie时抛出 |
UnableToSetCookieException | 当driver无法添加一个cookie时抛出 |
TimeoutException | 当一个指令在特定的时间内没有完成时抛出 |
MoveTargetOutOfBoundsException | actions的move操作时抛出,将目标移动出了window之外 |
UnexpectedTagNameException | 获取到的元素标签不符合要求时抛出,比如实例化Select,而传入了非select标签的元素时 |
ImeNotAvailableException | 输入法不支持的时候抛出,这里两个异常不常见,ime引擎据说是仅用于linux下对中文/日文支持的时候 |
ImeActivationFailedException | 激活输入法失败时抛出 |
ErrorInResponseException | 不常见,server端出错时可能会抛 |
RemoteDriverServerException | 不常见,在某些情况下驱动启动浏览器失败的时候会报这个错 |