解决Selenium滑动页面到指定元素,点击失效的问题

White graces:个人主页

🙉专栏推荐:Java入门知识🙉

🐹今日诗词:君失臣兮龙为鱼,权归臣兮鼠变虎🐹


⛳️点赞 ☀️收藏⭐️关注💬卑微小博主🙏

⛳️点赞 ☀️收藏⭐️关注💬卑微小博主🙏


原因: 大概率是等待的原因, 换成强制等待大概率能解决, 不过效率低下, 可以参考下面的方法

1. 元素不可点击

如果元素不可以点击, 即使将元素从页面之外滑动到页面之内也不能点击

解决办法: 将元素属性更改成 可点击 状态

2. 元素可以点击但是点击失效

原因

首先保证你的元素是可以点击, 但是点击失效

这种情况大概率是因为使用了 等待, 等待元素加载就执行点击, 此时元素可能并没有滑动到页面上, 虽然元素在页面外, 但是可以在DOM树中找到元素, 程序就会执行点击了

解决方法1

直接绕过前端监听, 使用js直接点击

java 复制代码
((JavascriptExecutor) driver).executeScript("arguments[0].click();", element);

解决办法2

通过Actions类真实模拟鼠标操作

优化方法: 前面加上滚动到元素位置就可以了(可能会失败, 概率很小)

java 复制代码
        // 将指定元素滑动到页面顶部
        ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView();", element);
        actions.click(element).perform();

解决方法3

在滚动前面使用强制等待, 坏处效率低下

作者建议

使用强制等待和滑动指定位置

java 复制代码
        // 滚动到下方
        ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView();", element);
        // 确保滚动成功
        Thread.sleep(1000);

✨🎆谢谢你的阅读和耐心!祝愿你在编程的道路上取得更多的成功与喜悦!"🎆✨🎄

⭐️点赞收藏加关注,学习知识不迷路⭐️

🎉✔️💪🎉✔️💪🎉✔️💪🎉✔️💪🎉

👍😏⛳️点赞☀️收藏⭐️关注😏👍

👍😏⛳️点赞☀️收藏⭐️关注😏👍

👍😏⛳️点赞☀️收藏⭐️关注😏👍

🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️

相关推荐
运行时异常1 分钟前
【WMS 仓储系统集成 AI Agent 实战】第 6 讲:RAG 知识库——“输出简单流程“为什么检索不到任何东西
java
小七在进步2 分钟前
类和对象(三)
java·开发语言
夜不会漫长3 分钟前
C++:类和对象(1)
java·开发语言·c++
czt_java7 分钟前
Java文件IO核心知识点总结
java·开发语言
EatFan7 分钟前
从单体到模块化:我的 Spring Boot 项目为什么拆成 framework、module、server?
java·spring boot·后端
南京兴帝文化传媒有限公司8 分钟前
地图SEO与AI搜索优化结合实践:宁国摄影工作室本地获客案例分析
大数据·前端·人工智能·geo 优化·geo优化避坑
用户9210802628614 分钟前
前端 Vue 专栏 07:模板编译、虚拟 DOM、Diff 与 key
前端
szarron15 分钟前
HTOOL‑SA12 + HT06 近场探头组合实操|手持设备工位 EMI 预兼容排查完整流程
运维·服务器·开发语言·网络·射频工程·频谱仪
菜鸟~noob23316 分钟前
【电子战】第07篇:多普勒测向【含matlab代码】
android·开发语言·matlab
Java内核笔记16 分钟前
Spring Boot 4 可观测性源码剖析:OpenTelemetry 全链路打通日志、指标、追踪
java·后端