【Python】マウス操作を自動化する方法

今回はPythonを使って、マウスを自動操作できるライブラリを試してみます。

PyAutoGUIと言うライブラリを使うと次のような事を行えます。

  • マウス操作
  • キーボード操作
  • スクリーンショットの撮影
    など

今回はマウスの自動操作を行います。

こちらがPyAutoGUIの公式サイトです。

Macのターミナルを使用していますが、Windowsではコマンドプロンプトに置き換えてお読みください。

用語解説

  • ターミナル・・・Macのコマンド実行ツールです。
  • SublimeText・・・プログラムを記述するエディターです。
  • IDLE・・・Pythonの公式ツールです。

PyAutoGUIのインストール方法

PyAutoGUIライブラリをインストールする方法をmacを例に紹介いたします。

Macのターミナルを開き、次のコマンドでインストールします。

pip3 install pyautogui

インストールの確認

インストールされたかは、次のコマンドで確認できます。

user@computer$ pip3 freeze

PyAutoGUI==0.9.48

Macのエラー

Macでエラーメッセージが出た場合は、次の設定を行ってください。

Macはセキュリティー上、キーボードなどのリモート操作を禁止しています。

「セキュリティーとプライバシー」の「プライバシー」タブのアクセシビリティーを選択して、「ターミナル」、「Python.app」にチェックをつけてください。

左下の鍵のアイコンをクリックして、PCのパスワードを打ち込み、ロックを外しましょう。

チェックをつけたアプリケーションからの自動操作が可能になります。

macエラー回避

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でマウスを自動操作する方法を紹介しました。
組み合わせることによって、様々なマウス操作を自動化できそうです。
最後までお読みいただきありがとうございました。



返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください