解决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);

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

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

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

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

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

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

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

相关推荐
维吉斯蔡5 小时前
【VS Code / Cursor】文件夹右键快捷打开与文件类型自动关联
开发语言·程序人生·学习方法
蓝斯4976 小时前
[原创]《C#高级GDI+实战:从零开发一个流程图》第章:增加贝塞尔曲线,上、下、左、右连接点
java·c#·流程图
weixin_382395236 小时前
为小工厂量身打造:本地部署的物料管理系统带缺料计算
前端·制造
__zRainy__6 小时前
解决pnpm v10+不自动构建
前端·pnpm·工程化
前端工作日常6 小时前
我学习到的Java 的 Service 分层:itf 和 impl 到底是什么?
java·后端
猫猫不是喵喵.6 小时前
Vue3 Props 属性
前端·javascript·vue.js
都叫我大帅哥6 小时前
Spring @Transactional 注解完全指南
java·spring
Java成神之路-7 小时前
G1 垃圾回收器 :SATB + TAMS核心机制深度解析
java·jvm
前端工作日常7 小时前
我学习到的JIT即时编译与机器码缓存失效
java·后端
带刺的坐椅7 小时前
Solon 的 10 种 HTTP 服务器:改一行依赖,换一个引擎
java·solon·jetty·undertow·mcp-server·htttp