解决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 小时前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
会跑的葫芦怪5 小时前
若依Vue 项目多子路径配置
前端·javascript·vue.js
兩尛5 小时前
c++知识点2
开发语言·c++
fengfuyao9855 小时前
海浪PM谱及波形的Matlab仿真实现
开发语言·matlab
xiaoye-duck6 小时前
C++ string 底层原理深度解析 + 模拟实现(下)——面试 / 开发都适用
开发语言·c++·stl
xiaoqi9226 小时前
React Native鸿蒙跨平台如何进行狗狗领养中心,实现基于唯一标识的事件透传方式是移动端列表开发的通用规范
javascript·react native·react.js·ecmascript·harmonyos
jin1233226 小时前
React Native鸿蒙跨平台剧本杀组队消息与快捷入口组件,包含消息列表展示、快捷入口管理、快捷操作触发和消息详情预览四大核心功能
javascript·react native·react.js·ecmascript·harmonyos
Hx_Ma166 小时前
SpringMVC框架提供的转发和重定向
java·开发语言·servlet
期待のcode7 小时前
原子操作类LongAdder
java·开发语言
舟舟亢亢8 小时前
Java集合笔记总结
java·笔记