微信读书网页版如何 模拟 点击 下一页 按钮 ? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
975779964
V2EX    程序员

微信读书网页版如何 模拟 点击 下一页 按钮 ?

  •  < href="Javascript:" Onclick="downVoteTopic(808630);" class="vote">
  •   975779964 2021-10-18 21:19:09 +08:00 3332 次点击
    这是一个创建于 1539 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题 ,我在 chrome 上面用微信读书 ,用了 surfingkeys 插件 ,按 f 模拟点击 下一页按钮 没有反应,然后我又在 设置里面 设置 快捷键

    mapkey('<Space>','微信读书下一页',()=>{ let btn = document.getElementsByClassName('readerFooter_button'); console.log(btn[0]); btn[0].click(); },{domain:/weread\.qq/i}); 

    打印出来了 下一页按钮 ,但 就是 click() 事件没有反应 我在 chrome devtools 里面 也试了 不行 ,是不是 微信读书 的下一页按钮 就 没有 写 onClick 事件啊? 点是 正常用鼠标点 下一页 是可以 翻页的 ,我应该如何 用代码来模拟 下一页的点击呢?

    12 条回复    2023-07-17 13:01:45 +08:00
    975779964
        1
    975779964  
    OP
       2021-10-18 22:10:16 +08:00
    啊……我真蠢 ,微信读书 默认 自带的 左右方向键就可以 翻页了 ,我还 傻傻的 模拟 button 点击 ,都怪 surfingkeys 把 默认快捷键给我屏蔽了 ……
    zxxufo008
        2
    zxxufo008  
       2021-10-19 16:43:53 +08:00
    你说的是翻页还是下一章啊
    zxxufo008
        3
    zxxufo008  
       2021-10-19 16:44:23 +08:00
    @975779964 起始更好的是 page up page down
    975779964
        4
    975779964  
    OP
       2021-10-19 17:43:37 +08:00
    @zxxufo008 我要的是 翻下一页呢,就是你用网页版微信的时候 ,拉到最底下,有个 下一页按钮 的 ,一章里面 有很多页 ,pgup pgdn 只是 网页 的 上下滚动 ,不是我要的效果 , 我刚发现 微信读书 的 方向键 左右 也只是 切换 上 /下 章 而已 ,翻页 的功能 还是没有 ,想要 用 js 模拟 点击 下一页 按钮 却不能实现 ……
    975779964
        5
    975779964  
    OP
       2021-10-19 17:45:06 +08:00
    @zxxufo008 现在的核心问题是 为什么 有的 dom 元素 (比如微信读书的 下一页按钮 ,目录按钮 ) 调用 js 的 .click() 方法 (js 模拟点击) 不生效
    zxxufo008
        6
    zxxufo008  
       2021-10-19 18:01:31 +08:00
    @975779964 我看的都是网文,还真没看到网页版里有下一页的按钮。你打开 f12 看下呗
    975779964
        7
    975779964  
    OP
       2021-10-19 19:07:48 +08:00
    @zxxufo008 比如说这本书 https://weread.qq.com/web/reader/73532150723f022f73516a6,他是有下一页的 ,你看看呢 ,有 下一页的按钮 (和下一章是不同的) ,我就是按 f12 然后 知道 这个按钮 的 class 是 readerFooter_button,通过 document.getElementsByClassName('readerFooter_button') 找到 他 ,然后 调用 .click() 事件模拟点击 没有用 才来问的
    chnwillliu
        8
    chnwillliu  
       2021-10-20 07:16:45 +08:00   1
    因为在事件处理中他判断了事件是否有 clientX,没有的话就不执行后续动作了。

    ```js
    var clickEvent = document.createEvent('mouseevent');
    clickEvent.initMouseEvent('click', true, false, window, null, 100, 100, 100, 100);
    document.getElementsByClassName('readerFooter_button').dispatchEvent(clickEvent);
    ```

    这样就好啦。
    chnwillliu
        9
    chnwillliu  
       2021-10-20 07:18:04 +08:00   1
    额 getElementsByClassName 返回的是数组,改成 querySelector

    document.querySelector('.readerFooter_button').dispatchEvent(clickEvent);
    975779964
        10
    975779964  
    OP
       2021-10-20 09:01:03 +08:00
    @chnwillliu 哇, 可以了 ,原来是 调用 dispatchEvent 不是 .click() ,谢谢 大佬 现在我的代码 是这样
    ```
    mapkey('<Space>','微信读书下一页',()=>{
    let clickEvent = document.createEvent('mouseevent');
    clickEvent.initMouseEvent('click', true, false, window, null, 100, 100, 100, 100);
    let btn= document.querySelector('.readerFooter_button');
    btn.dispatchEvent(clickEvent)

    },{domain:/weread\.qq/i});

    ```
    下次我要是元素点不动了,就用 这个 dispatchEvent 方法
    Tesla9527
        11
    Tesla9527  
       2023-05-08 23:22:08 +08:00
    按空格键好像也可以翻页(一章里面的很多页)
    abc123I
        12
    abc123I  
       2023-07-17 13:01:45 +08:00
    @975779964 哈哈哈,我他妈,也是想解决鼠标点点点的问题来着,看到你这,才发现竟然有快捷键,我真蠢+1
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5447 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 07:18 PVG 15:18 LAX 23:18 JFK 02:18
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86