吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1845|回复: 37
上一主题 下一主题
收起左侧

[其他原创] 油猴脚本:自动过知网在线阅读滑块

[复制链接]
跳转到指定楼层
楼主
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多的大佬可以点击脚本文件支持一下 知网滑动脚本.txt (3.9 KB, 下载次数: 6)

gif演示











免费评分

参与人数 11吾爱币 +14 热心值 +10 收起 理由
huazhou123. + 1 + 1 谢谢@Thanks!
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
qianjue + 1 用心讨论,共获提升!
FitContent + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
GentleIAS + 1 + 1 谢谢@Thanks!
PoJ575 + 1 + 1 谢谢@Thanks!
liuxuming3303 + 1 + 1 谢谢@Thanks!
7qidai + 1 谢谢@Thanks!
kavxc + 1 谢谢@Thanks!
yanglinman + 1 谢谢@Thanks!
helian147 + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
Pwaerm 发表于 2024-7-31 18:02
不错不错,写得很规范

我以前也弄过一个
[Asm] 纯文本查看 复制代码
//滑块操作(滑块元素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写的外挂来滑动

[Asm] 纯文本查看 复制代码
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);
                    }

3#
xiaoshan1818 发表于 2024-7-31 16:17
很少用到,只感叹高手这么多,什么功能都可以脚本,佩服啊
4#
kangta520 发表于 2024-7-31 16:39
5#
Asunaku 发表于 2024-7-31 16:41
非常棒,谢谢分享
6#
 楼主| jing99 发表于 2024-7-31 16:56 |楼主
xiaoshan1818 发表于 2024-7-31 16:17
很少用到,只感叹高手这么多,什么功能都可以脚本,佩服啊

这个很简单的,小功能只要有想法就可以做呀
7#
kangta520 发表于 2024-7-31 17:04
kangta520 发表于 2024-7-31 16:39
谢谢分享,功能牛

楼主不介意我拿走改装吧
8#
tuofashenseng 发表于 2024-7-31 17:10
脚本功能很实用
9#
 楼主| jing99 发表于 2024-7-31 17:14 |楼主
kangta520 发表于 2024-7-31 17:04
楼主不介意我拿走改装吧

当然没问题!!!改装好发出来用用
10#
Arcticlyc 发表于 2024-7-31 17:34
楼主太强啦
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-15 18:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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