Python業務効率化

【Python】PyAutoGUIの基本的な使い方を解説

当サイトは広告を利用しています。

PyAutoGUIはマウスとキーボードを制御して、RPAが作れるモジュールです。

RPAとは「Robotic Process Automation」の略語で、パソコンで行っている事務作業を自動化できるソフトウェアロボット技術のことです。

2023年11月に群馬県沼田市が13業務をRPA化することで、年間800時間もの業務時間を削減していることがネットニュースで取り上げられていました。

有償RPAソフトからオープンソースのPythonに切り替えた沼田市、その狙いと効果とは

基本的な操作一覧

以下が基本的な操作になります。
更に詳しく知りたい方は公式ドキュメントをご確認ください。

関数名説明
moveTo(x, y, duration=0)マウスを座標 (x, y) に移動する
duration 引数を使用して移動にかける時間を指定できる(秒単位)
dragTo(x, y, duration=0, button=’left’)マウスボタンを押しながら、座標 (x, y) にドラッグする
duration 引数を使用してドラッグにかける時間を指定できる(秒単位)
デフォルトのボタンは左ボタン
click(x=None, y=None, clicks=1, interval=0.0, button=’left’, duration=0.0)clicks 引数でクリック回数を指定でき、 interval 引数でクリック間隔を秒単位で指定できる
button 引数で使用するボタンを指定でき、デフォルトは左ボタン
duration 引数でクリックにかける時間を秒単位で指定できる
doubleClick(x=None, y=None, interval=0.0, button=’left’, duration=0.0)マウスボタンをダブルクリックする
interval 引数でクリック間隔を秒単位で指定できる
button 引数で使用するボタンを指定でき、デフォルトは左ボタン
duration 引数でクリックにかける時間を秒単位で指定できる
write(message, interval=0.0)キーボード入力をシミュレートする
message 引数に入力するテキストを指定する
interval 引数で入力する文字の間隔を秒単位で指定できる
press(keys, presses=1, interval=0.0)keys 引数に押すキーを指定する
presses 引数でキーを押す回数を指定できる
interval 引数でキーを押す間隔を秒単位で指定できる
hotkey(*keys, interval=0.0)キーボードのホットキーを押す
keys 引数に押すキーを指定する
interval 引数でキーを押す間隔を秒単位で指定できる

ショートカットキーをたくさん覚えるため、普段のパソコン業務も早くなります!

PyAutoGUIの使用例

実際にPyAutoGUIを使ってみます。マウスを動かしてテキストファイルを開き、文字を入力します。

コードはこのようになります。

コード自体はシンプルですが、ブラウザの動作(ポップアップの場所や画面遷移のタイミング、スクロールの調整など)を考えながらコードを書いていく必要があります。

インストールがまだの場合は、pip install PyAutoGUIを実行してください。

また、座標の取得は以下のようにできます。

PythonでRPA化するメリット

RPAと言えば、UiPathやPower Automateなどもありますが、PythonでRPA化すると様々な処理を組み合わせることができます。

・データ整形
・スクレイピング(Web上から情報を取得する)
・OCR(手書きや印刷された文字の抽出)

など、複数の処理を1つのプログラム内で完結させることができます。

組み合わせる内容に関しては以下の記事をご参考にしてください。

まとめ

PyAutoGUIの基本的な使い方をまとめました。タスクスケジューラ(Windows)と組み合わせれば、お昼休みなどに業務を終わらせておくことができます。是非ご自身のルーティンワークを自動化してください。

関連記事
【Pythonで業務効率化】win32comを使ってメールを自動化
【入門者向け】効率よくPythonを習得する3Step

Python 基礎文法の教科書を執筆しました!

コメント

タイトルとURLをコピーしました