PC操作を自動化するRPAについて調べた。何とかPythonを使いたい
RPA, Robotic Process Automationの略語で、要するに人がちまちまとPCでやっている単純作業をソフトで自動化しちゃえ!っていう技術のこと。ロボットとか書いてるけれど要するに自動処理の話。
(約 2,300文字の記事です。)
期待外れのPyAutoGUI
さて、先日は待望のPyAutoGUIを触ったのだが、リファレンスが薄い=やれることがシンプル過ぎて少ない。以上。120時間分のPython学習には見合わない。強いて言えば画像を指定してその画像に一致する部位のマウス位置を取得できることがメリットか。(でもたしかUWSCでもそれができていたような。やったことないけど)
なので緊張の糸が切れたので今日はPython学習そっちのけで、現状のRPAツールについてむさぼるように情報収集。できればPythonを使ってなんとかしたいのだ。ここは意地でも食い下がるw
RPA専用ツールの現状調査
ただし業務用で毎月何万円もするような有料ツールは除外。あくまでも個人が無料か少額で使えるツールでなければならない。色々調査した結果、大体こんなツールがピックアップされた。
AutoIt、大御所。というかガチ勢ならここから起点だろう。
Auto Hot Key, AHK。既に使っています😊ただ文法が独特なのであまり深入りしてもなぁ、というPythonへの動機の一つ。
UWSC, 使ってますが開発者逝去により緩やかに確実にオワコン。代替手段探しの旅に出て今ココ。
だいたいこんなところ。世界的にも情報量的にもAutoItの圧勝。そして私も何かが違えばAHKやUWSCではなくてAutoItに行っていたと思う。でもそうでなればAutoIt言語にどっぷりで満足(というか十分なので)Pythonに入っていなかった可能性も。
ただしどうしてもPython構文で管理やメンテや開発をしたい。そこでさらに調べてみた。ここからが長かった。語ればいくらでも話せる二転三転の感動ストーリー。だが今は結論だけを簡単に。今はリンク先もなし。調べればすぐに出てくる。
まさかのAHK+Pythonがあった
AHK構文に習熟してもマイナー言語だからなぁと思っていたらまさかのラッパーがあった。Python構文でAHKを使えるならもう最強では?
これ、色々情報収集して最後の最後に出てきた「まさかの想定外な組み合わせ」だった。その発想はなかった。なのでこれは二転三転して選択肢に加わった。数時間の情報収集と精査は一体何だったんだ。
そして最新版のリリース日がまさかのつい先日だ。
リリース日: 2024 年 6 月 4 日、何という偶然。DL数も多くコミュニティーも活発だ。
PyWinAuto
公式サイトにはドキュメントが充実している。詳しい、詳しすぎる。だがこれ本当に自分が使いこなせるのか?そしてこれを手打ちするのか?と思っていたらレコーダーもまた有志が開発していた。PyWinAutoとPyAutoGUIを組み合わせて使えばほぼ完璧なRPAツールになるっぽい。ただ問題は本当にレコーダーが使い物になるのか?試してみないと分からない。
と、ここまでではPyWinAutoとPyAutoGUIで行こうと思っていたのだが、AHK+Pythonも捨てがたい。
PyAutoIt
これは純正RPAツールのAutoItを個人でPythonラッパー対応させたみたい。ただし開発コミュニティの規模が小さすぎるので将来に不安あり。そもそもドキュメントが公開されていないので、うん、不安だね。
AHK+Pythonか、PyWinAuto+PyAutoGUIか
今のところこの二択で考えている。当初は後者だったが、AHKは捨てがたい。多少なりとも使い慣れている点が有利。
それに対して後者は独自でRPAツールに仕上がっているのでオリジナルソフトからの縛りなどの制限がない分だけ、細かく制御できて将来的な拡張性は高いのかも知れない。Pure Python出身だから。AHKやAutoItという本家の仕様に依存しないというのは気分としてはかなりいい気分だ。
結局どちらにするかは明日両者のドキュメントを読んで「何ができて何ができないのか」「両者の差は」を明らかにしなければ結論が出なさそうだ。
二日連続で夜更かししたので今日はもうお休み~。
性懲りもなくAdobe Expressの良質画像を使ってアイキャッチ画像で遊んでいる。だから夜中になってしまうのだ😱
今回の創作活動は約1時間30分(累積 約3,830時間)
(1,086回目のnote更新)