介绍
篡改猴 (Tampermonkey) 是拥有 超过 1000 万用户 的最流行的浏览器扩展之一。它允许用户自定义并增强您最喜爱的网页的功能。用户脚本是小型 JavaScript 程序,可用于向网页添加新功能或修改现有功能。使用 篡改猴,您可以轻松在任何网站上创建、管理和运行这些用户脚本。
为什么要使用?
如果我们直接在浏览器控制台运行自己编写的js脚本,容易出现两个问题:1、无法长期保存;2、如果需要实现网站的定时刷新会丢失脚本,导致只能定时刷新一次;
而猴油扩展能够解决上述问题,帮你保存写好的js脚本,即使重启浏览器也不会丢失,能够实现网站的自动刷新而不会丢失该网站正在运行的脚本
1 下载猴油扩展
附上扩展商店链接:https://microsoftedge.microsoft.com/addons/detail/%E7%AF%A1%E6%94%B9%E7%8C%B4/iikmkjmpaadaobahmlepeloendndfphd
这里我已经安装过了,就不再赘述,如果不知道如何安全扩展插件,请自行百度。
2 使用
问题背景:最近学校要求我们在一个网站(实验室安全考试系统)刷在线时长,它最ex人的地方在于每5分钟会跳出一个弹窗让你点击确认来检测你是否在线,如果超过一定时长没有点击就会认为你在挂机把你下线,这导致如果我们直接挂机无法积累时长。
应对方案:
- 利用5分钟间隔的机制,如果我们在5分钟内定时刷新网站,它的弹窗会重新计时,而我们在线时长并不会因为网站刷新而丢失;
- 元素定位+触发按钮点击:我们也可以写一个脚本检测弹窗的出现,每隔5分半检测一次弹窗元素,然后定位到它的button元素触发其comfirm点击事件
这里我采用最简单的方案1——定时刷新网站
2.1 编写脚本
成功安装后会在浏览器上显示拓展图表,鼠标左键单击选择添加新脚本(没有显示的去已扩展找找):
这时,它会弹出一个脚本编辑器界面:
实现自动刷新脚本,不会写的可以直接复制粘贴下面代码,注意match对应的url链接要换成你自己的!!!,你希望脚本运行在哪个网站你就把url换成那个网站就好:
// ==UserScript==
// @name 定时刷新网页
// @namespace http://tampermonkey.net/
// @version 0.1
// @description 很简单的一个自动刷新网页功能
// @author 写代码的猫叔
// @match http://202.197.71.93//redir.php?catalog_id=121&object_id=2737
// @grant none
// ==/UserScript==(function() {'use strict';// 注意改掉上面的@match,里面是放指定你要刷新的网页网址// 几秒,例如10就是10秒刷新一次,这里设置2分10秒刷新一次(设置太低它累计不到时长)let timeout = 130console.log('%s秒后刷新: ', timeout);setTimeout(() => {location.reload()}, timeout*1000);
})();
Ctrl + S保存脚本:
回到你的目标网站(脚本运行的网站),刷新一下,脚本就会自动运行了,即使你重启浏览器,再次打开它也会自动运行已保存好的脚本:
挂机一晚上后,它的时长已经到达要求的6h了,本文完。