当前位置: 首页 > news >正文

selenium元素定位---ElementClickInterceptedException(元素点击交互异常)解决方法

1、异常原因

在编写ui自动化时,执行报错元素无法点击:ElementClickInterceptedException

具体报错:selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <span class="el-checkbox__inner">

</span> is not clickable at point (1421, 283). Other element would receive the click: <div class="cell">...</div>

E (Session info: chrome=104.0.5112.102)

意思是,元素定位相互覆盖,元素已经找到,但是无法点击

同时,我也为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接点击文末小卡片免费领取资料文档

软件测试视频教程观看处:

字节大佬教你逼自己如何在15天内掌握自动化测试(接口自动化/APP自动化/Web自动化/性能测试),内含项目实战

2、解决方法:

方法一:使用强制等待,但是每次都有类似的元素无法点击使用强制等待的话会延长脚本执行时间

time.sleep()  

前言:之前便遇到过很多次该问题的报错,就没有管它,但是随着越来越多的元素报该错,每次使用强制等待会大大延长脚本的执行时间,于是便网上找各种方法解决该问题,最终发现是自己使用显示等待的方法错了

如下是显示等待的用法和区别

方法二:显性等待

element_to_be_clickable--元素是否可点击

vibility _of_ element_ located--元素是否可见

presence_of_element_located--元素是否存在

如上:三种等待方法,最开始我一直使用的是presence_of_element_located,判断元素是否存在,最终还是报错,提示元素元素点击拦截异常

百度了下使用element_to_be_clickable--等待元素出现可以点击,就执行成功了

方法三:使用JS点击

然而有时即使已经显式等待了,却仍然会报错: ElementClickInterceptedException,这多少有点奇怪,为什么 webdriver 有时就是无法点击,我不知道,也许这和他首先执行的一些验证检查有关,反正就在这一刻,它不给你点

解决方法:

 👆  这是通过 JavaScript 完成的点击,js可以避开校验以上便是在编写自动化时元素定位时踩的坑,以此记录防止再次踩坑

尾声

 PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助,有需要的朋友你可以dd我。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近100个G。

☑ 240集-零基础到精通全套视频课程
☑ [课件+源码]-完整配套的教程
☑ 18套-测试实战项目源码
☑ 37套-测试工具软件包
☑ 268道-真实面试题
☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

 

http://www.lryc.cn/news/164058.html

相关文章:

  • 05_css选择器的使用
  • 跨平台游戏引擎 Axmol-2.0.0 正式发布
  • 面试总结归纳
  • 【刷题篇】贪心算法(一)
  • 从维基百科通过关键字爬取指定文本内容
  • pytorch代码实现之SAConv卷积
  • 一文解析-通过实例讲解 Linux 内存泄漏检测方法
  • Spring Boot常用的参数验证技巧和使用方法
  • 手机+卫星的科技狂想
  • 便捷查询中通快递,详细物流信息轻松获取
  • ARM接口编程—Interrupt(exynos 4412平台)
  • 适用于Linux的Windows子系统(PHP搭建lmap、redis、swoole环境)
  • Vue3+Ts+Vite项目(第十二篇)——echarts安装与使用,vue3项目echarts组件封装
  • hive location更新hive元数据表详解
  • 【SpringBoot】统一功能处理
  • 分布式数据库-架构真题(二十六)
  • MyWebServer开发日记-socket
  • 图书管理信息系统分析与设计
  • Charles基础使用指南
  • Android12之/proc/pid/status参数含义(一百六十五)
  • UMA 2 - Unity Multipurpose Avatar☀️三.给UMA设置默认服饰Recipes
  • uniapp-小程序登录授权框
  • Unity 性能优化Shader分析处理函数:ShaderUtil.GetShaderGlobalKeywords用法
  • 第一百四十一回 如何添加程序启动页
  • 从零开始的PICO教程(4)--- UI界面绘制与响应事件
  • IntelliJ IDEA 远程调试 Tomcat
  • 谷粒商城----认证服务
  • Mediasoup源码介绍
  • GIS入门,WKT格式详解
  • Qt之postEvent