nodejs桌面自动化操作

nodejs桌面自动化操作

月光魔力鸭

2023-03-12 12:20 阅读 1200 喜欢 0

最近又回归了下DNF ,玩了一段时间,感觉也挺没意思的,关键是平时更没意思,想着不行搞个自动刷图吧(先说结论,没成)。 结果发现了nodejs里面的桌面自动化robotjs nut-js ,这两个都是做这个的,不过nut-js功能更多一些,可以以图找图,虽然没办法做DNF的自动刷图,但是我觉的做一些其他简单的操作还是可以的,比如抖音自动抽奖啥的应该问题不大,还没尝试。

robotjs

Node.js Desktop Automation. Control the mouse, keyboard, and read the screen.RobotJS supports Mac, Windows, and Linux.

Installation
npm install robotjs
Examples
// 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);
}
API

包含基本的操作:移动鼠标、鼠标点击、按键、屏幕截图,不过没有以图找图,常见的操作还是可以的。

@nut-tree/nut-js

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


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
当我们做爬虫或其他的一些应用的时候,如果需要一些短信验证,但是又没有那么多手机号,又不能放人在那里一直输入的时候?怎么办?
在使用puppeteer 跳转窗口的时候,发现waitForNavigator 并不起作用,最后找到通过browser 获得page 并继续操作。
docker镜像中的puppeteer安装
最近一直在围绕着我的小电脑在转,基本都是这方面的问题。在没有公网IP的情况下,这个问题就是我怎么才能通过域名访问到我家中的服务器。
从上面那篇文章过来的,这里分享下nodejs对文件夹以及子文件进行批量删除的实现。
thinkjs框架使用ueditor记录。
开始入手webpack ,直接看的官方文档和demo,对于自动刷新这部分还是希望通过express 加载插件来控制,但是文档没有提供,经过参考github上其他高玩的套路,最终整理了一个基础的配置版本。