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

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

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

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

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

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

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

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

相关推荐
paopaokaka_luck1 小时前
基于SpringBoot+Uniapp的健身饮食小程序(协同过滤算法、地图组件)
前端·javascript·vue.js·spring boot·后端·小程序·uni-app
Villiam_AY1 小时前
Redis 缓存机制详解:原理、问题与最佳实践
开发语言·redis·后端
患得患失9492 小时前
【前端】【vscode】【.vscode/settings.json】为单个项目配置自动格式化和开发环境
前端·vscode·json
UQWRJ2 小时前
菜鸟教程R语言一二章阅读笔记
开发语言·笔记·r语言
飛_2 小时前
解决VSCode无法加载Json架构问题
java·服务器·前端
岁忧3 小时前
macOS配置 GO语言环境
开发语言·macos·golang
朝朝又沐沐4 小时前
算法竞赛阶段二-数据结构(36)数据结构双向链表模拟实现
开发语言·数据结构·c++·算法·链表
YGY Webgis糕手之路4 小时前
OpenLayers 综合案例-轨迹回放
前端·经验分享·笔记·vue·web
木棉软糖4 小时前
一个MySQL的数据表最多能够存多少的数据?
java
魔尔助理顾问4 小时前
系统整理Python的循环语句和常用方法
开发语言·后端·python