Open3
nodejsでマウス操作を自動化できるnutjsに入門してみよう

これを触る
少し前までrobotjsが強かったっぽいけど、数年publishが止まっているのでnutjsに乗り換えが起きてる感じ...ではないかと思われる

macにも対応しているらしいので、とりあえずチュートリアルにあるスクリプトを書いて動かしてみたらめっちゃ怒られた。すみませんでした
マウスの自動化なんて悪用し放題だからちゃんとアプリごとに許可設定してねという話。それはそう
VSCodeで実行する場合、macのAccessibilityでVSCodeに権限を与えれば動いた。
ドキュメントはこのへん参照。
コマンドを実行した瞬間から動き始められると面倒なので、超適当にカウントダウンを入れて実行してみた
import { down, left, mouse, right, up } from "@nut-tree/nut-js";
const countDown = async (seconds: number) => {
for (let count = seconds; count >= 0; count--) {
console.log(count);
await new Promise((resolve) => {
setTimeout(resolve, 1000);
});
console.clear();
}
};
(async () => {
console.clear();
await countDown(3);
console.log("Start!");
await mouse.move(right(500));
await mouse.move(down(500));
await mouse.move(left(500));
await mouse.move(up(500));
console.log("Finish!");
})();
実行した動画貼ろうと思ったけど容量小さくする方法が分からなかった...ので後回し。
とりあえず動いた。

テンプレートマッチングの機能がデフォルトで付いてるらしい。すごい