UI自动化测试常见的Exception
一. StaleElementReferenceException:
- 原因:引用的元素已过期。原因是页面刷新了,此时当然找不到之前页面的元素。- 解决方案:不确定什么时候元素就会被刷新。页面刷新后重新获取元素的思路不变,这时可以使用python的异常处理语句:try…except…,异常出现时重新执行,关键代码如下
编写脚本时使用异常try捕获异常后,页面刷新后重新获取元素,可以成功找到元素了:

二. ElementClickInterceptedException
- 原因:元素定位相互覆盖,元素已经找到,但是无法点击- 解决方案:方法一:使用强制等待,但是每次都有类似的元素无法点击使用强制等待的话会延长脚本执行时间
time.sleep()
注意⚠️:之前便遇到过很多次该问题的报错,就没有管它,但是随着越来越多的元素报该错,每次使用强制等待会大大延长脚本的执行时间。方法二:显性等待
如下是显示等待的用法和区别
1. element_to_be_clickable--元素是否可点击
2. vibility of element_ located--元素是否可见
3. presence_of_element_located--元素是否存在
如上:三种等待方法,最开始我一直使用的是presence_of_element_located,判断元素是否存在;
最终还是报错,提示元素元素点击拦截异常。
element_to_be_clickable--等待元素出现可以点击,便可以元素定位成功方法三:使用JS点击
然而有时即使已经显式等待了,却仍然会报错: ElementClickInterceptedException,这多少
有点奇怪。为什么 webdriver 有时就是无法点击,我不知道,也许这和他首先执行的一些验证检查有关,
反正就在这一刻,它不给你点。
方法三的代码如下:

三. NoSuchElementException:
原因:- 前端出现变更,导致定位不到元素;- 页面未加载出来元素导致元素找不到,需要加个等待;- 定位语法错误;- 元素可能在新的Windows窗口,此时需要切换Windows;- 页面出现伪元素:显示的是::before、::after这类的元素,被伪元素包裹起来的元素经常会定位不到,此时就需要对伪元素进行处理了,解决方式如:http://testingpai.com/article/1638176966906
四.NoSuchWindowException:
- 没找到窗口句柄handle(浏览器版本与驱动不兼容)- 注意⚠️:Web自动化中存在哪三种切换:1. windows窗口切换:切换到要操作的窗口;2. alert弹出框操作;3. iframe切换。操作方式如:https://blog.csdn.net/wsy_666/article/details/132325473
五.TimeoutException:
查找元素超时
六. NoSuchAttributeException:
属性错误
六. ElementNotSelectableException:
元素没有被选中
相关文章:
UI自动化测试常见的Exception
一. StaleElementReferenceException: - 原因:引用的元素已过期。原因是页面刷新了,此时当然找不到之前页面的元素。- 解决方案:不确定什么时候元素就会被刷新。页面刷新后重新获取元素的思路不变,这时可以使用python的…...
魔棒:手机智能无人直播软件多少钱?
无人直播因为直播门槛低,不需要真人出镜,不需要请主播,加上可以24小时直播卖券,效果出奇的好,一时很受广大商家的欢迎,那么,这种ai智能无人直播软件究竟多少钱呢? 当然,…...
网络安全 Day-32 Linux 系统定时任务补充
定时任务补充 1. 定时任务在生产时任务场景2. 定时任务实践 1. 定时任务在生产时任务场景 每天零点对系统数据备份每天我晚上零点统计财务报表每分钟剪口没有人进入计算机 2. 定时任务实践 定时任务服务启动:systemctl start crondsystemctl enable crond查看配置…...
【OpenGauss源码学习 —— 执行算子(hash join 算子)】
执行算子(hash join 算子) 连接算子hash join算子ExecInitHashJoin函数HashJoinState结构体TupleTableSlot 结构体JoinState结构体PlanState结构体ExecInitHashJoin函数部分代码介绍 ExecHashJoin函数调试信息 ExecEndHashJoin函数ExecReScanHashJoin函数…...
[Go版]算法通关村第十二关青铜——不简单的字符串转换问题
目录 题目:转换成小写字母思路分析:大写字母ASCII码 32 小写字母ASCII码Go代码Go代码-优化: 大写字母ASCII码 | 32 小写字母ASCII码 题目:字符串转换整数(atoi)思路分析:去除首部空格 明确正负 读取数…...
十种排序算法(附动图)
排序算法 一、基本介绍 排序算法比较基础,但是设计到很多计算机科学的想法,如下: 1、比较和非比较的策略 2、迭代和递归的实现 3、分而治之思想 4、最佳、最差、平均情况时间复杂度分析 5、随机算法 二、排序算法的分类 …...
【校招VIP】测试类型之兼容性测试分析
考点介绍: 兼容性是测试工作里面比较复杂的一种情况,也是校招里面考察的一个重点,需要从屏幕功能,数据,操作系统等多个维度进行分析。 『测试类型之兼容性测试分析』相关题目及解析内容可点击文章末尾链接查看&#x…...
STM32--TIM定时器(1)
文章目录 TIM简介定时器类型 通用定时器预分频器时序计数器时序定时中断基本结构TIM内部中断工程TIM外部中断工程 TIM简介 STM32的TIM(定时器)是一种非常常用的外设,用于实现各种定时和计数功能。它是基于时钟信号进行计数,并在计…...
Android取证——基础知识
目录 一、安卓系统版本 二、安装操作系统UI 三、鉴权码 1.IMEI(手机序列号) 2.ICCID...
【学习心得】安装cuda/cudann和pytorch
一、查看驱动信息 # 进入CMD输入命令 nvidia-smi 也可以右下角图标打开NVIDIA 设置进行查看 二、下载安装CUDA 1、下载 下载地址 https://developer.nvidia.com/ 2、安装 推荐自定义安装。建议只勾选Cuda,只安装这一个就好,以免报错安装失败。 3、验证…...
中电金信通过KCSP认证 云原生能力获权威认可
中电金信通过KCSP(Kubernetes Certified Service Provider)认证,正式成为CNCF(云原生计算基金会)官方认证的 Kubernetes 服务提供商。 Kubernetes是容器管理编排引擎,底层实现为容器技术,是云原…...
【Spring】Bean的实例化
1、简介 在容器中的Bean要实例化为对象有三种方式 1、构造方法 2、静态工厂 3、实例工厂 4、实现工厂接口 2、构造方法 构造方法实例化Bean即是直接通过构造方法创建对象 <bean id"bookDao" class"com.wn.spring.dao.impl.BookDaoImpl"/> 当不存在…...
2023牛客暑期多校训练营8-C Clamped Sequence II
2023牛客暑期多校训练营8-C Clamped Sequence II https://ac.nowcoder.com/acm/contest/57362/C 文章目录 2023牛客暑期多校训练营8-C Clamped Sequence II题意解题思路代码 题意 解题思路 先考虑不加紧密度的情况,要支持单点修改,整体查询࿰…...
【GitLab私有仓库】如何在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透?
文章目录 前言1. 下载Gitlab2. 安装Gitlab3. 启动Gitlab4. 安装cpolar5. 创建隧道配置访问地址6. 固定GitLab访问地址6.1 保留二级子域名6.2 配置二级子域名 7. 测试访问二级子域名 前言 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具…...
企业计算机服务器遭到了locked勒索病毒攻击如何解决,勒索病毒解密
网络技术的不断发展,也为网络安全埋下了隐患,近期,我们收到很多企业的求助,企业的计算机服务器遭到了locked勒索病毒的攻击,导致企业的财务系统内的所有数据被加密无法读取,严重影响了企业的正常运行。最近…...
Redis哨兵模式搭建
Redis主从复制搭建 Redis虽然拥有非常高的性能,但是在实际的生产环境中,使用单机模式还是会产生不少问题的,比如说容易出现 单机故障,容量瓶颈,以及QPS瓶颈等问题。通常环境下,主从复制、哨兵模式、Redis…...
大语言模型控制生成的过程Trick:自定义LogitsProcessor实践
前言 在大模型的生成过程中,部分原生的大语言模型未经过特殊的对齐训练,往往会“胡说八道”的生成一些敏感词语等用户不想生成的词语,最简单粗暴的方式就是在大模型生成的文本之后,添加敏感词库等规则手段进行敏感词过滤…...
Docker容器:docker的资源控制及docker数据管理
文章目录 一.docker的资源控制1.CPU 资源控制1.1 资源控制工具1.2 cgroups有四大功能1.3 设置CPU使用率上限1.4 进行CPU压力测试1.5 设置50%的比例分配CPU使用时间上限1.6 设置CPU资源占用比(设置多个容器时才有效)1.6.1 两个容器测试cpu1.6.2 设置容器绑…...
从零开始打造家装预约咨询小程序
在如今互联网高度发达的时代,家装行业也逐渐意识到了线上渠道的重要性。为了更好地服务客户,提高用户体验,越来越多的家装公司开始寻找合适的小程序制作平台。本文将向大家介绍如何使用第三方制作平台,如乔拓云网,打造…...
es线上处理命令记录
常用命令 搜索 GET _search {"query": {"match_all": {}} }获取全部模版 GET _index_template GET _index_template/yst_crawler_template获取全部索引 GET /_cat/indices?v 获取当前mapping GET /yst_crawler/_mapping创建一个mapping PUT /yst_c…...
基于Minicursor理念的Node.js后端服务快速搭建与架构解析
1. 项目概述与核心价值最近在折腾一个个人项目,需要快速搭建一个轻量级的、能处理实时数据流的后端服务。在寻找合适的脚手架时,我偶然在 GitHub 上发现了forrestchang/minicursor这个项目。乍一看名字,你可能会联想到数据库的“游标”&#…...
嵌入式通信系统抗干扰设计:从硬件防护到协议容错的实战指南
1. 项目概述:当通信遇上“嘈杂”的现实世界干了十几年嵌入式,从工业控制到智能家居,从车载网络到物联网终端,我踩过最多的坑,往往不是算法有多复杂,代码有多难写,而是通信链路在各种现实环境下的…...
命令行媒体管理工具amem:本地化素材归档与自动化实践
1. 项目概述:一个被低估的本地化媒体管理工具最近在整理个人数字资产时,我遇到了一个老生常谈但又无比棘手的问题:如何高效、优雅地管理那些散落在硬盘各个角落的短视频、图片和音频文件?无论是手机拍摄的生活片段,还是…...
让macOS窗口切换像Windows一样高效:alt-tab-macos完全指南
让macOS窗口切换像Windows一样高效:alt-tab-macos完全指南 【免费下载链接】alt-tab-macos Windows alt-tab on macOS 项目地址: https://gitcode.com/gh_mirrors/al/alt-tab-macos 你是否曾经在macOS上怀念Windows的alttab快捷键?是否觉得macOS…...
Python 开发者三步接入 Taotoken 调用 GPT 与 Claude 模型
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Python 开发者三步接入 Taotoken 调用 GPT 与 Claude 模型 对于习惯使用 OpenAI 官方 Python SDK 的开发者来说,接入 T…...
网安工具系列python系列【仅供参考】:Python实战:利用fofa API高效搜索网络资产
Python实战:利用fofa API高效搜索网络资产 Python实战:利用fofa API高效搜索网络资产 1. 从零开始:为什么你需要一个自动化的资产搜索工具? 2. 动手前的准备:你的fofa账户和Python环境 2.1 获取你的fofa API凭证 2.2 搭建Python脚本环境 3. 核心代码拆解:一行行理解搜索脚…...
【c++面向对象编程】第30篇:RAII与智能指针(一):auto_ptr的缺陷与unique_ptr
目录 一、一个手动管理的痛点 二、RAII 核心思想 三、auto_ptr:C98 的尝试与缺陷 auto_ptr 的核心缺陷 四、unique_ptr:真正的独占式智能指针 基本用法 常用成员函数 五、unique_ptr 与数组 六、自定义删除器 七、make_unique(C14&a…...
终极GitHub加速方案:3步让你的下载速度飙升10倍
终极GitHub加速方案:3步让你的下载速度飙升10倍 【免费下载链接】Fast-GitHub 国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~! 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 还在为GitHub的龟速下载…...
2026春招AI人才争夺战白热化!小白程序员如何抓住13万高薪机遇?速收藏!
2026年春招显示AI领域岗位量同比增长8.7倍,成为职场新风口。具身智能岗位薪资暴增,AI科学家月薪高达13.2万元。高薪AI岗位紧缺,程序员需拥抱AI工具提升竞争力,否则面临被替代风险。AI能力已成为职场基础设施,不学AI可能…...
合宙Air001开发板深度评测:一分钱MCU的嵌入式开发实战
1. 项目概述:当“羊毛”遇上“硬核”开发最近在电子爱好者圈子里,合宙新推出的Air001开发板成了热议的焦点。原因无他,核心的MCU芯片价格标签上赫然写着“0.01元”——你没看错,就是一分钱。这已经不是“卷”了,简直是…...
