【Python】selenium的异常类selenium.common.exceptions的汇总

news2024/9/22 11:31:45

我们在使用selenium爬虫的过程中,可能会遇到各种报错,例如:
在这里插入图片描述

这些报错是selenium.common.exceptions 是 Selenium WebDriver 库中的一个模块,它包含了 WebDriver 操作中可能遇到的各种异常类。这些异常类帮助开发者在自动化测试过程中识别和处理特定的错误情况。

以下是一些常见的网页获取是会遇到的异常报错:

  1. NoSuchElementException: 当尝试查找一个不存在的元素时抛出,可能driver控制的网页已经发生跳转,而原先的网页元素已经无法抓取到了。
    详细参考:【Python】selenium使用find_element时解决【NoSuchElementException】问题的方法

  2. NoSuchFrameException: 当尝试切换到一个不存在的框架时抛出。

  3. NoSuchWindowException: 当尝试切换到一个不存在的窗口时抛出。
    详细参考:【Python】selenium使用find_element时解决【NoSuchWindowException】问题的方法

  4. NoSuchAttributeException:属性错误

  5. NoAlertPresentException:没找到alert弹出框

  6. StaleElementReferenceException: 当尝试操作一个已经过时(比如页面已经刷新)的元素时抛出。也就是页面元素过期了,无法引用元素,还在无法点击它,比如页面已经刷新或导航到另一个页面,但是尝试操作的元素引用仍然是旧页面上的元素。
    详细参考:【Python】selenium使用find_element时解决【StaleElementReferenceException】问题的方法

  7. ElementNotVisibleException: 当尝试操作一个不可见的元素时抛出。

  8. ElementNotSelectableException: 当尝试选择一个不可选择的元素时抛出。

  9. ElementClickInterceptedException:当尝试点击一个元素时,如果有另一个元素覆盖在它上面,导致点击事件被拦截,就会抛出这个异常。
    详细参考:【Python】selenium 点击某个按钮 click() 出现的报错问题–ElementClickInterceptedException(全!)

  10. ElementNotVisibleException:当尝试点击一个不在屏幕上可见的元素时,会抛出这个异常。

  11. ElementNotInteractableException:当尝试与一个不可交互的元素进行交互(例如,一个被禁用的按钮或一个隐藏的输入框)时,会抛出这个异常。

  12. InvalidElementStateException: 当元素处于一个无效状态,不能执行期望的操作时抛出。

  13. InvalidSelectorException: 当使用无效的选择器查找元素时抛出。

  14. TimeoutException: 当操作超出了设定的等待时间限制时抛出。

13 . WebDriverException: 所有 WebDriver 异常的基类。

在编写测试代码时,可以通过try except 来捕获这些异常来处理错误情况,可以重试操作、记录错误信息或者终止测试等等。
如果大家对 selenium.common.exceptions 感兴趣,也可以进入exceptions 查看底层代码的解释,总共有30+个错误类,以上只是列举了比较常用的部分。
感谢你的喜欢,整理不易,大家可以点个小小的关注~

参考:

  1. Selenium2+python自动化57-捕获异常(NoSuchElementException)【转载】
  2. 如果对其他错误感兴趣,可以看 :全网最强总结,Selenium自动化测试异常+处理总结,吐血整理…

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1814067.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nodejs 第七十七章(MQ高级)

MQ介绍和基本使用在75章介绍过了,不再重复 MQ高级用法-延时消息 什么是延时消息? Producer 将消息发送到 MQ 服务端,但并不期望这条消息立马投递,而是延迟一定时间后才投递到 Consumer 进行消费,该消息即延时消息 插件安装 R…

el-tree回显复选框时半选中和全选中的树

项目需求如下:当我点击“编辑”后,需要在tree树上全勾中和半勾中选项,由于后端接口返回的tree树是含了父级节点id的数组集合,所以我们回显时需要处理好这个全勾中和半勾中的问题。 主要思路如下,我们通过setData方法获…

服务器数据恢复—热备盘未完全启用导致raid5阵列崩溃的数据恢复案例

服务器存储故障: 一台EMC某型号存储由于存储中raid5阵列出现故障导致服务器崩溃,由于数据涉密,需要工程师到现场恢复数据。 服务器数据恢复工程师到现场后对数据进行检测,经过检测发现服务器崩溃是由于raid中某些硬盘掉线所导致。…

【深度学习】数竹签演示软件系统

往期文章列表: 【YOLO深度学习系列】图像分类、物体检测、实例分割、物体追踪、姿态估计、定向边框检测演示系统【含源码】 【深度学习】物体检测/实例分割/物体追踪/姿态估计/定向边框/图像分类检测演示系统【含源码】 【深度学习】YOLOV8数据标注及模型训练方法整…

meilisearch的Managing API keys,自己趟过的坑

Elasticsearch 做为老牌搜索引擎,功能基本满足,但复杂,重量级,适合大数据量。 MeiliSearch 设计目标针对数据在 500GB 左右的搜索需求,极快,单文件,超轻量。 所以,对于中小型项目来说…

电商比价系统的搭建需要哪些方面着手准备?

搭建一个淘宝/京东比价系统所需的时间取决于多个因素,包括但不限于系统的复杂度、开发团队的规模与经验、数据源获取的难易程度、技术选型等。以下是一个大致的时间估计和考虑因素: 需求分析与设计: 确定系统的主要功能,如商品搜…

Python基于 GPU 的机器学习算法库之cuml使用详解

概要 在大数据和机器学习的时代,高效的数据处理和模型训练变得尤为重要。传统的 CPU 计算方式在处理大规模数据时往往显得力不从心,而 GPU 的并行计算能力为此提供了一种解决方案。cuml 是 RAPIDS AI 项目的一部分,它提供了一组基于 GPU 的机器学习算法,能够极大地提升数据…

【数据结构与算法】哈夫曼树与哈夫曼编码

文章目录 哈夫曼树(最优二叉树)定义举个🌰(WPL的计算) 哈夫曼树的构造(最优二叉树的构造)举个🌰 哈夫曼编码定义构造 哈夫曼树(最优二叉树) 在介绍哈夫曼树之…

中间件复习之-分布式存储系统

单机存储系统介绍 存储引擎:存储系统的发动机,提供数据的增、删、改、查能力,直接决定存储系统的功能(支持怎么样的查询,锁能锁到什么程度)和性能(增删改查速度)。 性能因素 写入方…

1939springboot VUE 高等院校求职信息管理系统开发mysql数据库web结构java编程计算机网页源码maven项目前后端分离

一、源码特点 springboot VUE高等院校信息(求职)管理系统是一套完善的完整信息管理类型系统 前后端分离,结合springboot框架和VUE完成本系统,对理解vue java编程开发语言有帮助系统采用springboot框架(MVC模式开发&a…

Spring Cloud全家桶(上)【Nacos、OpenFeign、LoadBalancer、GateWay、金丝雀灰色发布】

0.零基础入门微服务实战课 1.微服务和 Spring Cloud1.1 什么是微服务?1.2 什么是 Spring Cloud?1.3 微服务 VS Spring Cloud 2.为什么要学微服务?3.Spring Cloud 组件介绍1.什么是 Nacos?1.1 Nacos 功能1.1.1 配置中心1.1.2 注册中心 1.2 Na…

29、shell变量、重定向及运算符

一、shell脚本 1.1、shell的定义 脚本:可运行的代码的集合,脚本语言(计算机语言)。 脚本的特点:从上到下,按行执行。 python:脚本语言 格式更严谨的执行缩进。也是从上到下按行执行。 shel…

正式发布 | 极海首款GHD3440电机专用栅极驱动器,构建多元电机产品矩阵

​栅极驱动器是低压控制器和高功电路之间的缓冲电路,用于放大控制器的控制信号,从而实现功率器件更有效的导通和关断。随着各种智能电子设备的不断普及和应用,栅极驱动器的市场需求也在不断增加。据国际权威研究机构Yole Group预计&#xff0…

元灵诀 逆天纪系统搭建 零撸看广告升级模式 定制开发

在当今互联网飞速发展的时代,元灵诀逆天纪系统的出现无疑为游戏行业注入了新的活力。这款系统不仅是一个定制开发的youxiu作品,更是对游戏产业的一次深度思考和探索。其独特的零撸看广告升级模式,将游戏体验和商业模式完美结合,开…

HoloLens2系列讲解 - 05 HoloLens2 Appx 安装

安装准备 Hololens2设备打包好的Appx文件一台电脑Hololens2 和电脑需要处于同一局域网 安装Appx 1.在Hololens设备上点击设置->网络和Internet->选择“自己wifi名称”网络并点击自动连接。 2.查看HoloLens的IP地址,如192.168.0.1。 (1&#xff…

【Go语言】面向对象编程(二):通过组合实现类的继承和方法重写

通过组合实现类的继承和方法重写 要实现面向对象的编程,就必须实现面向对象编程的三大特性:封装、继承和多态。 1 封装 类的定义及其内部数据的定义可以看作是类的属性,基于类定义的函数方法则是类的成员方法。 2 继承 Go 语言中&#x…

微软将 AI 工具和软件的研发工作外包给 OpenAI

微软将 AI 工具和软件的研发工作外包给 OpenAI 科技媒体 CNBC 报道称,微软正计划将其人工智能(AI)工具和软件的开发工作外包给OpenAI,这对竞争对手谷歌来说无疑是一个利好消息。 Okta首席执行官Todd McKinnon表示,微…

【浏览器清空证书】

chrome://net-internals/#hsts 在地址栏输入并访问:chrome://net-internals/#hsts

.NET C# 读写Excel及转换DataTable

目录 .NET C# 读写Excel及转换DataTable1. 依赖库2. Nuget包与版本3. ExcelUtil3.1 Excel sheet 转 DataTable3.2 Excel sheet 转 DataSet3.3 DataTable 转 Excel sheet3.4 DataSet 转 Excel3.5 私有方法 .NET C# 读写Excel及转换DataTable 1. 依赖库 using NPOI.HSSF.UserMo…

[数据集][目标检测]中国象棋检测数据集VOC+YOLO格式300张12类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):300 标注数量(xml文件个数):300 标注数量(txt文件个数):300 标注类别…