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

相关文章

qt5cored.dll报错怎么解决? 电脑qt5cored.dll文件丢失修复技巧

《qt5cored.dll报错怎么解决?电脑qt5cored.dll文件丢失修复技巧》在进行软件安装或运行程序时,有时会遇到由于找不到qt5core.dll,无法继续执行代码,这个问题可能是由于该文... 遇到qt5cored.dll文件错误时,可能会导致基于 Qt 开发的应用程序无法正常运行或启动。这种错

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

java中long的一些常见用法

《java中long的一些常见用法》在Java中,long是一种基本数据类型,用于表示长整型数值,接下来通过本文给大家介绍java中long的一些常见用法,感兴趣的朋友一起看看吧... 在Java中,long是一种基本数据类型,用于表示长整型数值。它的取值范围比int更大,从-922337203685477

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

Java中常见队列举例详解(非线程安全)

《Java中常见队列举例详解(非线程安全)》队列用于模拟队列这种数据结构,队列通常是指先进先出的容器,:本文主要介绍Java中常见队列(非线程安全)的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一.队列定义 二.常见接口 三.常见实现类3.1 ArrayDeque3.1.1 实现原理3.1.2

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2