2023-06-02
面倒な操作の繰り返し?そんな時は、レッツプログラム!

APIがあればそれを使うのが一番ですが、無いなら無いなりになんとかします。

人に替わってマウスやキーボード操作をしてくれる機能、Javaで言う所のjava.awt.Robotクラスなどを使ってなんとかすることをRPAと言います。JavaScriptのランタイム、Denoで実現するライブラリを探すもいいものが見つからず。そこで、Windows/Mac両方で使える、Python用のライブラリ pyautogui を Flask でWebサーバー経由で操るようにして、Denoでアクセスするライブラリ Robot.js を作りました。


「deno_robot」

PythonとDenoをダウンロードし、Pythonのインストーラーpipを使って、Webアプリケーションサーバーflaskと、GUI操作ライブラリpyautoguiをインストール。あとはpythonでサーバーを動かしつつ、Denoのライブラリで下記のように使ってください。 import { Robot } from "https://code4fukui.github.io/deno_robot/Robot.js"; const endpoint = "http://localhost/"; const r = new Robot(endpoint); // about this mac await r.mouseMove(10, 10); await r.mouseClick(); await r.keyPress("down"); await r.keyPress("enter"); 遠隔から操作したい場合、endpointを書き換え、server.pyが読み込むallow_networksで許可IPアドレスなどを編集しましょう。

マウス位置を確認したいときは deno run -A poswatch.js が便利です。


こちら、ビュッフェご飯がステキなホテル八木の夜食メロン!ようこそ、福井へ!

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS