首页 > 其他分享 >selenium元素定位---ElementClickInterceptedException(元素点击交互异常)解决方法

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

时间:2022-09-02 17:25:01浏览次数:45  
标签:ElementClickInterceptedException 元素 selenium element 点击 报错 等待

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)

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

2、解决方法:

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

time.sleep()  

 

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

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

方法二:显性等待

element_to_be_clickable--元素是否可点击

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

presence_of_element_located--元素是否存在

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

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

 

 

以上便是在编写自动化时元素定位时踩的坑,以此记录防止再次踩坑

标签:ElementClickInterceptedException,元素,selenium,element,点击,报错,等待
From: https://www.cnblogs.com/xxstudy/p/16650615.html

相关文章

  • 微信小程序元素超出页面宽度的解决
    有时候可能会出现这种情况,如下图底部的添加店铺的按钮超出页面宽度了,直接在给按钮外面的盒子加一个css样式:box-sizing:border-box; 这样就正常显示了 ......
  • appium之元素定位方法
    AppUI自动化,appium使用最频繁的应该就是定位元素了Appium常用的元素属性值:resource-id:此属性值是唯一的,元素如果有resource-id属性,优先选择resource-id,定位方法:d......
  • 27 移除元素
    题目27移除元素思路:不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组要知道数组的元素在内存地址中是连续的,不能单独删除数组中的某个元素,只能......
  • 遍历数组元素
    1<!DOCTYPEhtml>2<html>3<head>4<metacharset="utf-8">5<title></title>6</head>7<body>8<script>9......
  • 求数组元素的和
    1<!DOCTYPEhtml>2<html>3<head>4<metacharset="utf-8">5<title></title>6</head>7<body>8<script>9......
  • 屏幕深度 自定义深度 纹理元素
      SceneTexture节点,可以帮助我们获取很多信息,例如像素深度,法线,自定义深度,后处理输入,粗糙度,金属值等借助SceneTexture节点中的SceneDepth,我们获取到了渲染像素在屏幕......
  • 获取数组元素
    这里有一个数组叫a1,数组内容为'red','green','yellow'。如果想直接获取'yellow',可通过他们的标号来获取,因为每一个值都是有标号的,从0开始,0,1,2,3……数组内容的标号......
  • 使用selenium自动化模块实现登录12306
    importtimefromselenium.webdriverimportChromefromselenium.webdriver.chrome.optionsimportOptionsfromselenium.webdriver.common.byimportByfromselenium.w......
  • python 修改列表元素
    修改列表的元素时,可以使用for循环结合range n=int(input())list_b=[[1,2,3],[4,5,6],[7,8,9]]foriinrange(len(list_b)):  foryinrange(len(l......
  • app自动化测试(iOS)元素定位(新手篇)
    ⬇️点击“下方链接”,提升测试核心竞争力!>>更多技术文章分享和免费资料领取除了通用定位方式外,iOS还有其他特殊的定位方式,本章节仅介绍iOS特有定位。PredicateString......