今回はPythonを使って、マウスを自動操作できるライブラリを試してみます。
PyAutoGUIと言うライブラリを使うと次のような事を行えます。
- マウス操作
- キーボード操作
- スクリーンショットの撮影
など
今回はマウスの自動操作を行います。
こちらがPyAutoGUIの公式サイトです。
Macのターミナルを使用していますが、Windowsではコマンドプロンプトに置き換えてお読みください。
用語解説
- ターミナル・・・Macのコマンド実行ツールです。
- SublimeText・・・プログラムを記述するエディターです。
- IDLE・・・Pythonの公式ツールです。
Contents
PyAutoGUIのインストール方法
PyAutoGUIライブラリをインストールする方法をmacを例に紹介いたします。
Macのターミナルを開き、次のコマンドでインストールします。
pip3 install pyautogui
インストールの確認
インストールされたかは、次のコマンドで確認できます。
user@computer$ pip3 freeze
PyAutoGUI==0.9.48
Macのエラー
Macでエラーメッセージが出た場合は、次の設定を行ってください。
Macはセキュリティー上、キーボードなどのリモート操作を禁止しています。
「セキュリティーとプライバシー」の「プライバシー」タブのアクセシビリティーを選択して、「ターミナル」、「Python.app」にチェックをつけてください。
左下の鍵のアイコンをクリックして、PCのパスワードを打ち込み、ロックを外しましょう。
チェックをつけたアプリケーションからの自動操作が可能になります。
PyAutoGUIの基本操作
基本操作を試してみましょう。
マウスの位置を確認する方法
PythonのIDLEで、次のコマンドを実行してマウスの座標を取得してみましょう。
>>> import pyautogui >>> pyautogui.position() Point(x=516, y=469) >>>
X軸とY軸の座標が表示されました。
画面のサイズを取得する方法
>>> pyautogui.size() Size(width=1280, height=800) >>>
PCのスクリーンサイズが、幅1280✖️縦800と表示されました。
操作毎に間隔を空ける設定
>>> pyautogui.PAUSE = 2.5 >>>
PyAutoGUIを使うと連続したマウス操作やキーボード操作を行えます。
PCの負担を避けるために、操作毎に間隔を空ける設定があります。
マウスを自動で動かす方法
SublimeTextエディターに次のプログラムを記述して、ターミナルで実行してみてください。
エディターは任意のエディターで構いません。
mouse.pyというファイル名にしました。
import pyautogui pyautogui.moveTo(500, 500, duration=1)
ターミナルで次のコマンドを実行します。
user@computer$ python mouse.py
Traceback (most recent call last):
File “mouse.py”, line 1, in <module>
import pyautogui
エラーになる場合は、Python2とPython3が存在していますので、次のコマンドを実行しましょう。
user@computer$ python3 mouse.py
コードの説明
pyautogui.moveTo(500, 500, duration=1)
マウスカーソルを500, 500の座標へ1秒間かけて移動します。
5秒かけて移動させたい時は、duration=5とします。
現在の場所から指定したピクセル分、マウスを動かす方法
次のコードを実行すると、現在のマウスカーソル位置から右に500px、下へ500pxの位置へマウスが移動します。
import pyautogui pyautogui.moveRel(500, 500, duration=10)
先ほどのプログラムでは、moveTo で、画面の絶対座標位置を指定しました。
このプログラムでは、moveRel で、現在のマウスカーソル位置の相対座標位置へマウスが動きます。
マウスを自動操作でドラッグする方法
次のコードを実行すると、画面上をマウスが自動でドラッグします。
絶対座標へドラッグ
pyautogui.dragTo(300, 400, 2, button='left')
2秒かけて、左方向へ、X軸300px、Y軸400px分ドラッグします。
相対座標へドラッグ
pyautogui.dragRel(300, 400, 2, button='right')
2秒かけて、右方向へ、X軸300px、Y軸400px分ドラッグします。
Pythonでマウスを自動でクリックする方法
次のコードで、マウスクリックを自動で行う事ができます。
pyautogui.click(x=700, y=700, clicks=1, interval=1, button='left')
マウスを自動で右クリックする方法
pyautogui.rightClick(x=700, y=700)
自動操作でスクロールさせる方法
pyautogui.scroll(10, x=200, y=200)
マウスの位置を自動で移動する
上方向
pyautogui.mouseUp(x=300, y=300, button='left')
下方向
pyautogui.mouseDown(x=700, y=700, button='left')
自動でダブルクリック
pyautogui.doubleClick()
まとめ
今回はPythonでマウスを自動操作する方法を紹介しました。
組み合わせることによって、様々なマウス操作を自動化できそうです。
最後までお読みいただきありがとうございました。