每天搬砖前都会刷刷掘金,但是经常忘记签到,于是乎萌生了一个想法,怎么让签到自动化。
网上搜索了一下,原来早就有大神用node+robot实现了自动化点击,于是我也来鼓捣一个掘金自动化点击签到。
npm i robotjs
npm i opn
如果安装robotjs报错,以管理员身份执行以下命令再安装robotjs
npm install --global --production windows-build-tools
- 接下来鼓捣代码了,按照每天签到的步骤(打开网页→点击签到→点击去抽奖→点击抽奖)需要三个点击的坐标,抽完奖后我还希望能关闭页面,所以还设置了ctrl+w按键。
const opn = require('opn');
var robot = require('robotjs');
var url = "https://juejin.cn/user/center/signin?from=main_page";
opn(url); //默认浏览器打开网页
//按照我电脑打开网页后的按钮位置设置坐标,
//
setTimeout(() => {
mouseEvent(1361, 395);
setTimeout(() => {
mouseEvent(962, 648);
setTimeout(() => {
mouseEvent(886, 678);
closePage();
}, 1000)
}, 1000)
}, 2000)
function mouseEvent(x, y) {
robot.moveMouseSmooth(x, y); //移动鼠标
robot.setMouseDelay(1000);
robot.mouseClick();
}
function closePage(){
setTimeout(() => {
robot.keyToggle('control','down');
robot.keyTap ('w');
robot.keyToggle('control','up');
}, 2000)
}
- 然后在任务计划程序设置它每天自动执行就好了,用nodejs执行该代码文件
又或者将执行代码文件的命令写在一个 .bat文件
node E:\robot.js
参考文档:
Nodejs使用robotjs轻松控制鼠标键盘