jing99 发表于 2024-7-31 16:13

油猴脚本:自动过知网在线阅读滑块

本帖最后由 jing99 于 2024-7-31 16:17 编辑

知网改版之后,在线阅读每次都要有一个什么滑块,ok,还不算很难。


开搞 油猴脚本

https://greasyfork.org/zh-CN/scripts/502243-cnki%E8%87%AA%E5%8A%A8%E6%BB%91%E5%8A%A8%E9%AA%8C%E8%AF%81-%E8%B0%83%E8%AF%95%E7%89%88

CB多的大佬可以点击脚本文件支持一下

gif演示











Pwaerm 发表于 2024-7-31 18:02

不错不错,写得很规范

我以前也弄过一个
//滑块操作(滑块元素ID,要滑动的距离)
                  function mockVerify(_imgId, _distance) {
                        var btn = document.querySelector("#" + _imgId);
                        var mousedown = document.createEvent('MouseEvents');
                        var rect = btn.getBoundingClientRect();
                        var x = rect.x;
                        var y = rect.y;
                        mousedown.initMouseEvent('mousedown', true, true, window, 0,
                            x, y, x, y, false, false, false, false, 0, null);
                        btn.dispatchEvent(mousedown);

                        var dx = 0;
                        var dy = 0;
                        var interval = setInterval(function () {
                            var mousemove = document.createEvent('MouseEvents');
                            var _x = x + dx;
                            var _y = y + dy;
                            mousemove.initMouseEvent('mousemove', true, true, window, 0,
                              _x, _y, _x, _y, false, false, false, false, 0, null);
                            btn.dispatchEvent(mousemove);
                            console.log("MOVE");
                            btn.dispatchEvent(mousemove);
                            if (_x - x >= _distance) {
                              clearInterval(interval);
                              var mouseup = document.createEvent('MouseEvents');
                              mouseup.initMouseEvent('mouseup', true, true, window, 0,
                                    _x, _y, _x, _y, false, false, false, false, 0, null);
                              btn.dispatchEvent(mouseup);
                              console.log("END");
                              checkError(0);
                            }
                            else {
                              dx += Math.ceil(Math.random() * 30);
                            }
                        }, 100);
                  }

但是有的网站还有其他检测方式,用js滑动的不允许。 遇到这种情况我就调用python写的外挂来滑动

function handlerByPmouse(_args) {
                        //调用Python外挂做动作
                        $.ajax({
                            url: "http://127.0.0.1:2000",
                            type: "POST",
                            async: true,
                            data: _args.shift(),
                            dataType: "json",
                            success: function (__data) {
                              console.log(__data);
                              if (_args.length) {
                                    handlerByPmouse(_args);
                              } else {
                                    checkError(0);
                              }
                            }
                        });
                  }
                  function checkError(_n) {
                        var _info = $("#instructionText").text();
                        if (_info.indexOf("错误") != -1) {
                            $(".tcaptcha-embed-contrl.show-reload").click();
                            setTimeout(init, 3000);
                            console.log("滑块没滑到位");
                            return;
                        }
                        if (_n++ > 5 * 20) {
                            init();
                            return;
                        }
                        setTimeout(checkError, 50, _n);
                  }

xiaoshan1818 发表于 2024-7-31 16:17

很少用到,只感叹高手这么多,什么功能都可以脚本,佩服啊

kangta520 发表于 2024-7-31 16:39

谢谢分享,功能牛

Asunaku 发表于 2024-7-31 16:41

非常棒,谢谢分享

jing99 发表于 2024-7-31 16:56

xiaoshan1818 发表于 2024-7-31 16:17
很少用到,只感叹高手这么多,什么功能都可以脚本,佩服啊

这个很简单的,小功能只要有想法就可以做呀

kangta520 发表于 2024-7-31 17:04

kangta520 发表于 2024-7-31 16:39
谢谢分享,功能牛

楼主不介意我拿走改装吧{:1_918:}

tuofashenseng 发表于 2024-7-31 17:10

脚本功能很实用

jing99 发表于 2024-7-31 17:14

kangta520 发表于 2024-7-31 17:04
楼主不介意我拿走改装吧

当然没问题!!!改装好发出来用用{:1_1:}

Arcticlyc 发表于 2024-7-31 17:34

楼主太强啦{:1_932:}
页: [1] 2 3 4
查看完整版本: 油猴脚本:自动过知网在线阅读滑块