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

selenium点击元素出现的obscure问题

我们一般使用如下方式点击元素:

elem = driver.find_element(...)
elem.click()
# 或者使用带等待条件的方式
elem = WebDriverWait(driver, 10).until(EC.xxx(...))
elem.click()

正常情况下,这样去做是没问题的,但某些情况下可能会有报错:

selenium.common.exceptions.ElementClickInterceptedException: Message: Element ...... is not clickable at point (xxx,yyy) because another element ...... obscures it

步骤

方式1,等待obscure元素消失。可以使用time.sleep(),或者使用等待条件EC.invisibility_of_element_located,实在没法解决的情况下可以尝试。

方式2,通过js脚本去点击。推荐。

elem = WebDriverWait(driver, 10).until(EC.xxx(...))
driver.executescript('arguments[0].click()', elem)

这种方式在大部分情况下都行得通,某些情况下会出现报错:

selenium.common.exceptions.JavascriptException: Message: TypeError: arguments[0].click is not a function

这就需要改为:

elem = WebDriverWait(driver, 10).until(EC.xxx(...))
driver.execute_script('arguments[0].scrollIntoView();', elem)
elem.click()

或者正常情况下用arguments[0].click,异常了再使用arguments[0].scrollIntoView

elem = WebDriverWait(driver, 10).until(EC.xxx(...))
try:driver.executescript('arguments[0].click()', elem)
except selenium.common.exceptions.JavascriptException:driver.execute_script('arguments[0].scrollIntoView();', elem)elem.click()
http://www.dtcms.com/a/251606.html

相关文章:

  • 设计模式精讲 Day 2:工厂方法模式(Factory Method Pattern)
  • 什么是敏捷中的迭代(Iteration)和 Sprint?
  • 计算机硬件——主板
  • 【旧题新解】第 9 集 带余除法
  • Java 常用类 Arrays:从零到实战的数组操作指南
  • ArkUI-X框架LogInterface使用指南
  • 安卓9.0系统修改定制化____深入解析安卓 9.0 各手机分区:功能、作用与差异 基础篇二
  • Java的DI依赖注入
  • 易采集EasySpider v0.6.3 便携版
  • HTML5+JS实现一个简单的SVG 贝塞尔曲线可视化设计器,通过几个点移动位置,控制曲线的方向
  • Arcgis中,toolbox工具箱中工具莫名报错的解决方法
  • 大模型RAG系统面试题及参考答案
  • 职场灵活性与家庭状态对职业倦怠影响的可视化分析:从数据到洞见的深度解读
  • 2.7 获取激光雷达数据与避障
  • 【Linux】Linux 信号驱动I/O
  • Python中shutil.rmtree()的目录删除能力详解
  • NLP语言发展路径分享
  • ELK日志文件分析系统——补充(B——Beats)
  • ELK日志文件分析系统——K(Kibana)
  • Spring Boot诞生背景:从Spring的困境到设计破局
  • [windows工具]PDFOCR识别导出Excel工具1.1版本使用教程及注意事项
  • Linux之Python定制篇——新版Ubuntu24.04安装
  • Yocto vs Buildroot:SDK(软件开发套件)创建能力全面对比
  • 一款完美适配不同屏幕宽度的电商网站UI解决方案
  • python蓝色动态线
  • Python打卡训练营Day54
  • 《仿盒马》app开发技术分享-- 回收金提现记录查询(端云一体)
  • C++题解(35) 2025年顺德区中小学生程序设计展示活动(初中组C++) 换位(一)
  • 1.1、WDM基础
  • pyhton基础【9】容器介绍四