Python 异常
ElementNotInteractableException: 当 DOM 中存在元素但由于绘制顺序而与该元素的交互将触及另一个元素时抛出
- ElementNotSelectableException: 尝试选择不可选元素时抛出。不可选元素的例子:
- 脚本
- ElementNotVisibleException: 当 DOM 上存在元素时抛出,但它不可见,因此无法与其进行交互。尝试单击或读取从视图中隐藏的元素的文本时最常遇到的问题。
- ErrorInResponseException: 在服务器端发生错误时抛出。与 firefox 扩展或远程驱动程序服务器通信时可能会发生这种情况。
- ImeActivationFailedException: 激活 IME 引擎失败后抛出。
- ImeNotAvailableException: 当 IME 支持不可用时抛出。如果计算机上没有 IME 支持,则会为每个与 IME 相关的方法调用抛出此异常。
- InvalidArgumentException: 传递给命令的参数无效或格式错误。
- InvalidCookieDomainException: 尝试在与当前 URL 不同的域下添加 cookie 时抛出。
- InvalidElementStateException: 当操作导致元素的无效状态时抛出。子类:
- ElementNotInteractableException
- ElementNotSelectableException
- ElementNotVisibleException
- InvalidSelectorException: 当用于查找元素的选择器未返回 WebElement 时抛出。目前这只发生在选择器是 xpath 表达式并且它在语法上无效(即它不是 xpath 表达式)或表达式没有选择 WebElements(例如“count(// input)”)时。
- InvalidSwitchToTargetException: 当要切换的帧或窗口目标不存在时抛出。
- MoveTargetOutOfBoundsException: 当提供给 ActionsChains
move()
方法的目标无效时(即文档外),抛出该异常。 - NoAlertPresentException: 切换到无提示警报时抛出。当屏幕上还没有警报时,可以通过调用
Alert()
类上的操作来引起这种情况。 - NoSuchAttributeException: 无法找到 element 的属性时抛出。你可能想要检查你正在测试的特定浏览器中是否存在该属性。某些浏览器可能具有相同属性的不同属性名称。 (IE8 的 .innerText 与 Firefox .textContent)
- NoSuchElementException: 无法找到元素时抛出。如果遇到此异常,你可能需要检查以下内容:
- 检查 find_by 中使用的选择器…
- 在查找操作时,元素可能尚未出现在屏幕上(网页仍在加载),请参阅
selenium.webdriver.support.wait.WebDriverWait()
,了解如何编写等待包装器以等待元素出现。
- NoSuchFrameException: 当要切换的帧目标不存在时抛出。
- NoSuchWindowException: 当要切换的窗口目标不存在时抛出。要查找当前活动窗口句柄集,可以通过以下方式获取活动窗口句柄的列表:
print driver.window_handles
- RemoteDriverServerException:
- StaleElementReferenceException: 当对元素的引用现在是陈旧的时抛出。陈旧意味着该元素不再出现在页面的 DOM 上。StaleElementReferenceException 的可能原因包括但不限于:
- 你不再位于同一页面上,或者自找到该元素后页面可能已刷新。
- 该元素可能已被删除并重新添加到屏幕中,因为它已找到。例如重新定位的元素。当更新值并重建节点时,通常可以使用 javascript 框架进行此操作。
- 元素可能位于 iframe 或其他已刷新的上下文中。
- TimeoutException: 在命令未在足够的时间内完成时抛出。
- UnableToSetCookieException: 当驱动程序无法设置 cookie 时抛出。
- UnexpectedAlertPresentException: 出现意外警报时抛出。通常在预期模式阻止 webdriver 表单执行任何更多命令时引发。
- UnexpectedTagNameException: 在支持类未获得预期的 Web 元素时抛出。
- WebDriverException: 基本 webdriver 异常。所有 webdriver 异常都使用 WebDriverException 或 InvalidStateException 作为父类。