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

Selenium的WebDriver操作页面的超时或者元素重叠引起的ElementClickInterceptedException

超时

处理由页面加载引起的超时是在使用 Selenium 进行自动化测试中常见的任务。页面加载可能因网络速度慢、页面复杂性或异步操作而导致超时。以下是一些处理页面加载超时的方法:

1.设置隐式等待时间: 使用 implicitly_wait 方法可以设置隐式等待时间,让 Selenium 等待一定时间,直到元素出现在页面上或等待超时。这个等待时间适用于整个 WebDriver 对象的生命周期,它会在每个 find_element 或 find_elements 方法调用时生效。

from selenium import webdriverdriver = webdriver.Chrome()# 设置隐式等待时间为10秒
driver.implicitly_wait(10)# 在此之后的查找元素操作会等待最多10秒

2.使用显式等待: 使用 WebDriverWait 类和 expected_conditions 来等待特定条件的满足,例如等待某个元素可见、存在或可点击。这样,您可以更精确地控制等待的条件和最大等待时间。

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ECdriver = webdriver.Chrome()
wait = WebDriverWait(driver, 10)  # 设置显式等待时间为10秒# 等待直到元素可见
element = wait.until(EC.visibility_of_element_located((By.ID, 'element_id')))

元素重叠

错误信息

selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <div class="el-tree-node__content" style="padding-left: 18px;">...</div> is not clickable at point (339, 176). Other element would receive the click: <div class="el-loading-mask loading-class is-fullscreen" style="background-color: rgba(255, 255, 255, 0.5); z-index: 2032;">...</div>

解决方法

element = driver.find_element(By.XPATH, value="/html/body/div/div/div[1]/div[2]/div[1]/div/ul/div[4]/a/li")
driver.execute_script("arguments[0].click();", element)
http://www.lryc.cn/news/194108.html

相关文章:

  • oracle数据库的缓存设置
  • 算法通关村第一关-链表青铜挑战笔记
  • ✔ ★【备战实习(面经+项目+算法)】 10.15学习时间表
  • pytorch 训练时raise EOFError EOFError
  • node.js+NPM包管理器+Webpack打包工具+前端项目搭建
  • PCL点云处理之基于FPFH特征的全局配准流程具体实现(二百二十一)
  • ai_drive67_基于不确定性的多视图决策融合
  • Docker逃逸---procfs文件挂载
  • [Python小项目] 从桌面壁纸到AI绘画
  • 【Docker 内核详解】namespace 资源隔离(五):User namespaces
  • 网络原理必知会
  • ELK 日志分析系统介绍与部署
  • Android 内存治理之线程
  • 三、K8S之ReplicaSet
  • 【基础篇】四、本地部署Flink
  • 简述什么是迭代器(Iterator)?
  • DarkGate恶意软件通过消息服务传播
  • LeetCode——动态规划篇(六)
  • sql 注入(2), 文件读写 木马植入 远程控制
  • 求直角三角形第三点的坐标
  • 【Kotlin精简】第3章 类与接口
  • 关于面试以及小白入职后的一些建议
  • Excel 从网站获取表格
  • rsync 备份工具(附rsync+inotify 实时同步部署实例)
  • Java架构师缓存性能优化
  • 探索服务器潜能:创意项目、在线社区与其他应用
  • 「网络编程」网络层协议_ IP协议学习_及深入理解
  • Go 1.21 新内置函数:min、max 和 clear
  • 家居行业如何打破获客困局?2023重庆建博会现场,智哪儿AI营销第一课给出了答案
  • Spring framework Day11:策略模式中注入所有实现类