Open3

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

masaobluemasaoblue

macにも対応しているらしいので、とりあえずチュートリアルにあるスクリプトを書いて動かしてみたらめっちゃ怒られた。すみませんでした

マウスの自動化なんて悪用し放題だからちゃんとアプリごとに許可設定してねという話。それはそう

VSCodeで実行する場合、macのAccessibilityでVSCodeに権限を与えれば動いた。
ドキュメントはこのへん参照。

https://nutjs.dev/docs/installation

コマンドを実行した瞬間から動き始められると面倒なので、超適当にカウントダウンを入れて実行してみた

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!");
})();

実行した動画貼ろうと思ったけど容量小さくする方法が分からなかった...ので後回し。
とりあえず動いた。