油猴脚本开发学习1--豌豆荚快速查看所有版本

1、需求来源:

我想查看豌豆荚的一个软件的历史版本,然后要一直点击。
点击了好多次还没有到底,好烦呀
然后想着能否用selenium自动的,然后想着用的有油猴插件,可以直接自动展开csdn的,然后去搜索豌豆荚,发展没有搜到直接现成的插件。

那就学习一波,开发一个简单的插件吧。

2、开发者工具开发:

查看元素,看看是否有固定id或者class
在这里插入图片描述

找到id,就可以使用dom操作了。
document
先在开发者工具里面看看能成功。

while (document.getElementById('j-refresh-btn'))
{
    document.getElementById('j-refresh-btn').click();
}

然后最终写成这个代码。
先在console执行看看效果。

在这里插入图片描述

发现这个时候可以了,加载完毕了。

3、油猴插件开发:

当然,这样还需要每次复制,打开开发者,也不是很爽,我想弄到油猴里面,这样就能一劳永逸了。

1)、油猴学习:

油猴论坛:https://bbs.tampermonkey.net.cn/
油猴官方开发文档:
https://www.tampermonkey.net/documentation.php#_run_at
油猴脚本在线下载:

Greasy Fork

2)、可以自己找几个学习简单一下

比如:
我这个是自动展开类,我就搜索到这个
阅读全文、自动展开全文、自动移除万恶弹框

其实直接下在一个插件代码,模仿着写就完了,我不需要完成太高级的,太高级也需要js什么的。

油猴里面的脚本其实就是其他自执行函数,函数里面根据需要自己写。

具体可以了解下hook。

3)、我最终的脚本:

因为我需要周期性检测,执行我的脚本,然后周期执行我的脚本。
最终脚本:

setInterval 是js的定时器功能,间隔指定时间执行一个函数。
我把我的展开脚本放入一个函数,周期性执行函数即可。

setInterval() - 间隔指定的毫秒数不停地执行指定的代码。
setTimeout() - 在指定的毫秒数后执行指定代码。

setTimeout只执行一次,我看好多人家展开脚本大多数是这个,我的和他们不同,我所有我选择setInterval周期性执行定时器。

js定时器学习参考

// ==UserScript==
// @name         豌豆荚自动展开所有版本:
// @namespace    http://tampermonkey.net/
// @version      1.0.0
// @description  豌豆荚自动展开所有版本:
// @author       zhaojiafu
// @match        *://*.wandoujia.com/*
// @grant        none
// @icon         https://csdnimg.cn/public/favicon.ico
// @run-at       document-start
// ==/UserScript==

(function () {
    // 检查是否有更多 ID 'j-refresh-btn'
    function run(){
        while (document.getElementById('j-refresh-btn'))
        {
            document.getElementById('j-refresh-btn').click();
        };
    };
    // 定时器,3秒检查一次
    setInterval(run,3000);

})();

4)、你可以选择新建

新建脚本,把我的复制里面,然后就可以自动展开所以版本了。

以应用宝为例:

等待一会,访问地址,等待一会就可以了。

4、注意点:

1、油猴,run at 尽量早一点,早点注入代码【hook】

这个是注入js代码的时间,尽量早点注入,我的反正有间隔时间去检测,所以早点注入代码不影响的。

2、@match:

这个是正则匹配地址,我这个网站一定不能只写域名,我第一次匹配域名,解决搜索也是这样,导致卡死了。

// @match        *://*.wandoujia.com/apps/*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhaojiafu666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值