Selenium常见报错汇总(转译自官方API文档)

2024-04-20 13:48

本文主要是介绍Selenium常见报错汇总(转译自官方API文档),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ElementClickInterceptedException

  • 无法完成 Element Click 命令,因为接收事件的元素模糊了所请求单击的元素

ElementNotInteractableException

  • 当目标元素出现在 DOM 中,但是与该元素的交互影响到其他元素时抛出

ElementNotSelectableException

  • 当试图选择一个不可选择的元素时抛出

ElementNotVisibleException

  • 当 DOM 中存在一个元素,但该元素不可见时抛出(因此不能与该元素进行交互)

  • ps:在试图单击或读取隐藏在视图中的元素中的文本时最常遇到的问题

ErrorInResponseException

  • 当服务器端发生错误时抛出

  • 该错误可能发生在与远程驱动程序服务器的通信过程中

ImeActivationFailedException

  • 不能正常启动输入法引擎时抛出

ImeNotAvailableException

  • 当 IME 支持不可用时抛出
  • 如果机器上不支持 IME,则对于每个与 IME 相关的方法调用都会引发此异常

InsecureCertificateException

  • 导航导致用户代理点击证书警告,这通常是过期或无效 TLS 证书的结果

InvalidArgumentException

  • 传递给命令(common)的参数无效或格式不正确

InvalidCookieDomainException

  • 当试图在与当前 URL 不同的域下添加 cookie 时抛出

InvalidCoordinatesException

  • 提供给交互操作的坐标无效

InvalidElementStateException

  • 当因元素处于无效状态而无法完成命令时引发.

  • 这可能是由于试图清除一个不可编辑和可重新定位的元素造成的

InvalidSelectorException

  • 当用于查找元素的选择器没有返回 WebElement 时抛出
  • 目前,只有当选择器是 xpath 表达式并且在语法上无效时,才会出现这种情况(或者表达式没有选择 WebElements)

InvalidSessionIdException

  • 如果给定的会话 id 不在活动会话列表中时抛出,这意味着该会话不存在或不活动

InvalidSwitchToTargetException

  • 当要切换的框架或窗口目标不存在时抛出

JavascriptException

  • 执行 JavaScript 时发生错误

MoveTargetOutOfBoundsException

  • 当提供给 ActionsChains.move ()方法的目标无效时抛出

NoAlertPresentException

  • 当切换到无提示警报时抛出
  • 这可能是由于当警报还没有出现在屏幕上时,在 Alert ()类上调用一个操作而引起的

NoSuchAttributeException

  • 当找不到元素的属性时抛出。
  • 你可能希望检查该属性是否存在于你正在测试的特定浏览器中。 某些浏览器可能对同一个属性有不同的属性名。

NoSuchCookieException

  • 在当前浏览上下文的活动文档的关联 cookie 中没有找到与给定路径名匹配的 cookie。

NoSuchElementException

  • 当元素找不到时抛出。是用户利用selenium编写爬虫脚本时最常见的错误类型之一。
  • 如果遇到这个异常,可以检查以下内容:
    01.渲染压力大或网络不佳,元素尚未完全加载;
    02.需要捕获的元素对象可能不在当前框架中(iframe/frame/window);

NoSuchFrameException

  • 当要切换的Frame框架不存在时抛出

NoSuchWindowException

  • 当要切换的窗口目标不存在时抛出
  • 要查找当前一组活动窗口句柄,可以通过以下方式获得活动窗口句柄的列表
    print(driver.window_handles)

ScreenshotException

  • 截屏功能无法使用(某些浏览器在静默登陆或最小化时可能出现异常)

SessionNotCreatedException

  • 无法创建新会话

StaleElementReferenceException

  • 当引用的元素对象 ”过时“ 时抛出(页面刷新,窗口(标签页)切换,网址切换,当前页面下的”下一集“或”下一页“等操作都有可能引发对象过时错误)

  • ”过时“意味着之前你通过css ,xpath等方法定位的元素,暂未出现在当前DOM上,重新定位元素是解决方案之一

  • 原文解释:

Possible causes of StaleElementReferenceException include, but not
limited to:
You are no longer on the same page, or the page may have
refreshed since the element was located. The element may have been
removed and re-added to the screen, since it was located. Such as an
element being relocated. This can happen typically with a javascript
framework when values are updated and the node is rebuilt. Element may
have been inside an iframe or another context which was refreshed.

TimeoutException

  • 当命令没有在足够的时间内完成时抛出。

UnableToSetCookieException

  • 当驱动程序无法设置 cookie 时抛出。

UnexpectedAlertPresentException

  • 当出现意外警报(Alert)时抛出
  • 通常在预期模式阻塞网络驱动程序表单执行更多命令时引发。

UnexpectedTagNameException

  • 当支持类没有得到预期的 web 元素时抛出

UnknownMethodException

  • 请求的命令匹配一个已知的 URL,但不匹配该 URL 的方法

WebDriverException

  • 基本的网络驱动程序异常

这篇关于Selenium常见报错汇总(转译自官方API文档)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/920426

相关文章

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

springboot报错Invalid bound statement (not found)的解决

《springboot报错Invalidboundstatement(notfound)的解决》本文主要介绍了springboot报错Invalidboundstatement(not... 目录一. 问题描述二.解决问题三. 添加配置项 四.其他的解决方案4.1 Mapper 接口与 XML 文件不匹配

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa