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

相关文章

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原

Java docx4j高效处理Word文档的实战指南

《Javadocx4j高效处理Word文档的实战指南》对于需要在Java应用程序中生成、修改或处理Word文档的开发者来说,docx4j是一个强大而专业的选择,下面我们就来看看docx4j的具体使用... 目录引言一、环境准备与基础配置1.1 Maven依赖配置1.2 初始化测试类二、增强版文档操作示例2.

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

Java 方法重载Overload常见误区及注意事项

《Java方法重载Overload常见误区及注意事项》Java方法重载允许同一类中同名方法通过参数类型、数量、顺序差异实现功能扩展,提升代码灵活性,核心条件为参数列表不同,不涉及返回类型、访问修饰符... 目录Java 方法重载(Overload)详解一、方法重载的核心条件二、构成方法重载的具体情况三、不构

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I