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

相关文章

Java 枚举的常用技巧汇总

《Java枚举的常用技巧汇总》在Java中,枚举类型是一种特殊的数据类型,允许定义一组固定的常量,默认情况下,toString方法返回枚举常量的名称,本文提供了一个完整的代码示例,展示了如何在Jav... 目录一、枚举的基本概念1. 什么是枚举?2. 基本枚举示例3. 枚举的优势二、枚举的高级用法1. 枚举

SpringBoot3集成swagger文档的使用方法

《SpringBoot3集成swagger文档的使用方法》本文介绍了Swagger的诞生背景、主要功能以及如何在SpringBoot3中集成Swagger文档,Swagger可以帮助自动生成API文档... 目录一、前言1. API 文档自动生成2. 交互式 API 测试3. API 设计和开发协作二、使用

C语言线程池的常见实现方式详解

《C语言线程池的常见实现方式详解》本文介绍了如何使用C语言实现一个基本的线程池,线程池的实现包括工作线程、任务队列、任务调度、线程池的初始化、任务添加、销毁等步骤,感兴趣的朋友跟随小编一起看看吧... 目录1. 线程池的基本结构2. 线程池的实现步骤3. 线程池的核心数据结构4. 线程池的详细实现4.1 初

使用Vue.js报错:ReferenceError: “Vue is not defined“ 的原因与解决方案

《使用Vue.js报错:ReferenceError:“Vueisnotdefined“的原因与解决方案》在前端开发中,ReferenceError:Vueisnotdefined是一个常见... 目录一、错误描述二、错误成因分析三、解决方案1. 检查 vue.js 的引入方式2. 验证 npm 安装3.

PHP执行php.exe -v命令报错的解决方案

《PHP执行php.exe-v命令报错的解决方案》:本文主要介绍PHP执行php.exe-v命令报错的解决方案,文中通过图文讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录执行phpandroid.exe -v命令报错解决方案执行php.exe -v命令报错-PHP War

CentOS系统使用yum命令报错问题及解决

《CentOS系统使用yum命令报错问题及解决》文章主要讲述了在CentOS系统中使用yum命令时遇到的错误,并提供了个人解决方法,希望对大家有所帮助,并鼓励大家支持脚本之家... 目录Centos系统使用yum命令报错找到文件替换源文件为总结CentOS系统使用yum命令报错http://www.cppc

基于C#实现将图片转换为PDF文档

《基于C#实现将图片转换为PDF文档》将图片(JPG、PNG)转换为PDF文件可以帮助我们更好地保存和分享图片,所以本文将介绍如何使用C#将JPG/PNG图片转换为PDF文档,需要的可以参考下... 目录介绍C# 将单张图片转换为PDF文档C# 将多张图片转换到一个PDF文档介绍将图片(JPG、PNG)转

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

【LabVIEW学习篇 - 21】:DLL与API的调用

文章目录 DLL与API调用DLLAPIDLL的调用 DLL与API调用 LabVIEW虽然已经足够强大,但不同的语言在不同领域都有着自己的优势,为了强强联合,LabVIEW提供了强大的外部程序接口能力,包括DLL、CIN(C语言接口)、ActiveX、.NET、MATLAB等等。通过DLL可以使用户很方便地调用C、C++、C#、VB等编程语言写的程序以及windows自带的大