最近又回归了下DNF ,玩了一段时间,感觉也挺没意思的,关键是平时更没意思,想着不行搞个自动刷图吧(先说结论,没成)。
结果发现了nodejs
里面的桌面自动化robotjs
nut-js
,这两个都是做这个的,不过nut-js
功能更多一些,可以以图找图,虽然没办法做DNF的自动刷图,但是我觉的做一些其他简单的操作还是可以的,比如抖音自动抽奖啥的应该问题不大,还没尝试。
Node.js Desktop Automation. Control the mouse, keyboard, and read the screen.RobotJS supports Mac, Windows, and Linux.
npm install robotjs
// Move the mouse across the screen as a sine wave.
var robot = require("robotjs");
// Speed up the mouse.
robot.setMouseDelay(2);
var twoPI = Math.PI * 2.0;
var screenSize = robot.getScreenSize();
var height = (screenSize.height / 2) - 10;
var width = screenSize.width;
for (var x = 0; x < width; x++)
{
y = height * Math.sin((twoPI * x) / width) + height;
robot.moveMouse(x, y);
}
包含基本的操作:移动鼠标、鼠标点击、按键、屏幕截图,不过没有以图找图,常见的操作还是可以的。
nut.js (Native UI Toolkit)
nut.js is a cross-platform native UI automation / testing tool. It allows for native UI interactions via keyboard and / or mouse, but additionally gives you the possibility to navigate the screen based on image matching.
这个功能包含的就多了些 ,除了基本的键盘、鼠标、屏幕截图外,还可以高亮区域、以图找图、找文本,功能还是不错的。
相对来说nut.js功能更加强大,但是实际实践来看,nut-js 有时候并没有起作用(主要说的是在控制游戏角色上来说),其他的都还是可以的,但是我在通过代码操作DNF角色的时候,反而用robot
起作用(有可能是我的代码有问题,不过代码这里就不放了),最后是两个结合一起来控制的。
转载请注明出处: https://chrunlee.cn/article/nodejs-desktop-automation.html