nodejs桌面自动化操作

nodejs桌面自动化操作

月光魔力鸭

2023-03-12 12:20 阅读 860 喜欢 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


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
为什么要读取图片呢?需求来源于这里。我有一大堆的ppt文件,里面全是图片,想将这些图片全部拿到,然后存储在数据库中,在线上预览,一张张的保存我自然是不乐意的。
前段时间学习到了nodejs的net模块这部分,正好想实现一个局域网内的文件下载小demo,噔噔噔噔... 兴趣推动 ,马上搞一搞。
最近一直在围绕着我的小电脑在转,基本都是这方面的问题。在没有公网IP的情况下,这个问题就是我怎么才能通过域名访问到我家中的服务器。
尝试下使用nodejs下开源图像识别库来识别图像状态。
当我们做爬虫或其他的一些应用的时候,如果需要一些短信验证,但是又没有那么多手机号,又不能放人在那里一直输入的时候?怎么办?
使用nodejs连接ftp,进行ftp的操作,包括列表、上传、下载以及速率等。
我们项目一直在使用puppeteer 生成pdf ,整体的思路是没有问题的,而且在开发环境运行了好久了,但是部署后总会有各种各样的报错。各种so文件找不到等等 。
在公司报销的时候虽然已经有了电子发票,但是贴票还是需要将发票打印出来贴上,如果只有一两张也就算了,如果几十张.. 呵呵,光胶水我都不够用的,找了好多工具、在线版本都不合心意,烦死,自己做个自己喜欢的吧。