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

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

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

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

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

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

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

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

相关推荐
京东云开发者4 分钟前
Java的SPI机制详解
java
码哥DFS11 分钟前
Flex布局原理
前端·css·css3
超级小忍26 分钟前
服务端向客户端主动推送数据的几种方法(Spring Boot 环境)
java·spring boot·后端
小样还想跑27 分钟前
axios无感刷新token
前端·javascript·vue.js
字节跳跃者28 分钟前
为什么Java已经不推荐使用Stack了?
javascript·后端
字节跳跃者28 分钟前
深入剖析HashMap:理解Hash、底层实现与扩容机制
javascript·后端
程序无bug30 分钟前
Spring IoC注解式开发无敌详细(细节丰富)
java·后端
小莫分享32 分钟前
Java Lombok 入门
java
程序无bug32 分钟前
Spring 对于事务上的应用的详细说明
java·后端
食亨技术团队34 分钟前
被忽略的 SAAS 生命线:操作日志有多重要
java·后端