上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

js怎么模拟鼠标经过事件

[复制链接]
  • TA的每日心情
    慵懒
    2023-3-28 14:26
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    9

    主题

    30

    回帖

    42

    积分

    初级工程师

    积分
    42
    发表于 2024-2-22 17:03:10 | 显示全部楼层 | 阅读模式
    悬赏20油猫币已解决

    比如antd vue这里的DropDown组件,鼠标经过显示下拉菜单,尝试了各种事件都无法通过js触发

    https://3x.antdv.com/components/dropdown-cn

    有没有大佬给个思路

    最佳答案

    查看完整内容

    老生常谈了,参考: [油猴脚本开发指南]元素规则校验和检测的触发 https://bbs.tampermonkey.net.cn/thread-1250-1-1.html (出处: 油猴中文网) 我给你试出来了。。。 document.querySelector(".ant-dropdown-link.ant-dropdown-trigger").dispatchEvent(new MouseEvent('mouseenter')) 但是我是不推荐这样的,直接模拟API或者最终操作比较好(当然,也看情况来定) ...
  • TA的每日心情
    开心
    2024-3-13 10:14
  • 签到天数: 211 天

    [LV.7]常住居民III

    296

    主题

    3950

    回帖

    3858

    积分

    管理员

    积分
    3858

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2024-2-22 17:03:11 | 显示全部楼层
    老生常谈了,参考:

    [油猴脚本开发指南]元素规则校验和检测的触发
    https://bbs.tampermonkey.net.cn/thread-1250-1-1.html
    (出处: 油猴中文网)

    我给你试出来了。。。

    document.querySelector(".ant-dropdown-link.ant-dropdown-trigger").dispatchEvent(new MouseEvent('mouseenter'))

    但是我是不推荐这样的,直接模拟API或者最终操作比较好(当然,也看情况来定)
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2023-3-28 14:26
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    9

    主题

    30

    回帖

    42

    积分

    初级工程师

    积分
    42
    发表于 2024-2-22 17:05:55 | 显示全部楼层
    看到有的帖子说可以用  .dispatchEvent(new Event('mouseover'))  来模拟,但是依然无效
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2023-3-28 14:26
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    9

    主题

    30

    回帖

    42

    积分

    初级工程师

    积分
    42
    发表于 2024-2-22 18:43:08 | 显示全部楼层
    王一之 发表于 2024-2-22 18:00
    老生常谈了,参考:

    [油猴脚本开发指南]元素规则校验和检测的触发

    antd-vue的可以,react的antd好像不行, https://ant.design/components/dropdown-cn

    我在一路追antd react的源码,追到react-trigger里面,貌似是获取了event的clientX和clientY
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2023-3-28 14:26
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    9

    主题

    30

    回帖

    42

    积分

    初级工程师

    积分
    42
    发表于 2024-2-22 19:17:49 | 显示全部楼层
    我知道了,是react把事件元素又封装了一层,需要用__reactEventHandlers来dispatch事件
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    638

    主题

    5234

    回帖

    6105

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6105

    荣誉开发者管理员油中2周年生态建设者喜迎中秋

    发表于 2024-2-22 21:21:16 | 显示全部楼层
    cabin 发表于 2024-2-22 19:17
    我知道了,是react把事件元素又封装了一层,需要用__reactEventHandlers来dispatch事件 ...

    纯投递也是可以的
    知道框架其实更推荐搞个小demo读读源码
    基本都能解决
    实在不行就走类似智慧树的webpack hook

    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-3-8 11:53
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    4

    主题

    9

    回帖

    17

    积分

    助理工程师

    积分
    17
    发表于 2024-2-28 11:59:08 | 显示全部楼层
    有没有那种能模拟用户点击某个坐标的功能?

    不知道chrome底层是不是限制了这种操作。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-3-8 11:53
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    4

    主题

    9

    回帖

    17

    积分

    助理工程师

    积分
    17
    发表于 2024-2-28 12:00:07 | 显示全部楼层
    我们是否能通过再外挂一个第三方windows程序,来配合chrome实现模拟用户点击,直接调用win接口。跳过浏览器沙盒
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-13 10:14
  • 签到天数: 211 天

    [LV.7]常住居民III

    296

    主题

    3950

    回帖

    3858

    积分

    管理员

    积分
    3858

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2024-2-28 17:01:37 | 显示全部楼层
    cvpv 发表于 2024-2-28 11:59
    有没有那种能模拟用户点击某个坐标的功能?

    不知道chrome底层是不是限制了这种操作。 ...

    有的,哥哥可以了解一下CDP
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表