之前介绍过使用temperMonkey屏蔽优快云广告的方法,主要就是要针对性地分析网站结构,然后用代码去改变或者操作DOM。今天也一样,我们需要观察网页结构,找到我们要操作的按钮,触发他的
click
事件就可以了。下面以公司打卡签到的网站为例,做一些坏坏的事情。本文读者最好有一定的HTML和JavaScript基础。
首先,想象一下你去签到需要做什么:
- 打开网站
- 登陆
- 点击“签到”按钮
然后每一步我们都可以让代码帮我们去做。
0. 如何定时
这段代码是核心,就是根据当前时间和设定的时间做差值,来确定定时器的值
看懂这段代码,后面的就都容易了。都是在利用定时器触发callback。
// user setting
const SIGN_IN_TIME = "09:30:00"; // 签到时间
const SIGN_OUT_TIME = "20:00:00"; // 签退时间
// code implementation
logTime("code start running");
const now = new Date();
const today = now.getFullYear() + "-" + (now.getMonth() + 1) + "-" + now.getDate();
var signInTime = +new Date(`${
today} ${
SIGN_IN_TIME}`);
logTime("signInTime", new Date(signInTime));
var signOutTime = +new Date(`${
today} ${
SIGN_OUT_TIME}`);
logTime("signOutTime", new Date(signOutTime));
// diff in or out
if (now > signInTime && now < signOutTime) {
// ready to sign out for today
console.log("Seconds to sign out for today: " + (signOutTime - now) / 1000);
setTimeout(callback, signOutTime - now);
} else {
// ready to sign in for tomorrow
signInTime = +signInT