PyAutoGuiでマウス操作を自動化してみた


はじめに

私自身Qiitaは疎か記事を書くこと自体が初めてなので、不適切な箇所があれば教えて頂けると助かります。
本記事ではPyAutoGUIを使ったマウス操作(カーソルの移動、クリックなど)の自動化の方法を簡単に紹介します。
プログラミング初心者の方や、難しいことはせずとにかくマウス操作の自動化が出来ればいいという方の助けになればいいと思っています。

目次

1.環境・必要なもの
2.PythonのDL・インストール
3.PyAutoGUIのインストール
4.コーディング・実行
5.マウス関連の関数紹介
6.ペイントツールで遊ぶ
7.まとめ

1.環境・必要なもの

さっそく準備をしていきましょう。
win10 64bit環境で下記のものを使用して開発しています。

Python 3.9.0(導入説明あり)
PyAutoGUI(導入説明、使用方法説明あり)

2.PythonのDL・インストール

まずはPythonをダウンロードします。

下記のPythonの公式サイトのリンクに飛び、Pythonをダウンロードしましょう。
現時点での最新バージョンは3.10.0ですが、今回説明するものは3.9.0で実装したものなので、なるべく同じものが望ましいです。

トップページからDownloads->Windowsを選択しましょう。

そこからPython3.9.0のインストーラーをダウンロードします。
・Download Windows x86-64 executable installer からインストーラーをDLしてください。

ダウンロード出来たらexeを起動しましょう。
Install Nowをクリックで、Pythonのインストールが始まります。(画像は32bitですが正しくは64bitです)

インストールが完了するとSetup was successfulと表示されます。

これでPythonの準備はOKです。

3.PyAutoGUIのインストール

次にPyAutoGUIをインストールします。

スタートメニューを開き、「cmd」と入力します。

すると「コマンドプロンプト」というアプリが検索に引っかかると思うので、起動してください。

起動したら、Pythonをインストールするコマンドを実行します。

コピペ用
pip install pyautogui

インストールが完了したらコマンドプロンプトを終了しましょう。

4.コーディング・実行

さて、いよいよ本題です。
先ほどと同じ要領で、Pythonを起動しましょう。

コピペ用
python 3.9 (64-bit)

起動するとcmdのような真っ黒なコンソールが出てくると思います。
今回はこれを使ってコーディングしていきます。

まず、PyAutoGUIを導入しましょう。

コピペ用
import pyautogui

この段階では、PyAutoGUIを導入しただけなのでなにも起きないと思います。

そして次の行でいよいよマウスカーソルが動きます。

マウスカーソルをディスプレイ左上(絶対座標)に移動させる
pyautogui.moveTo(1, 1)

これを入力すると...

カーソルが動きました!!!!!
プログラムが動く瞬間はコピペでもなんでも嬉しいですね。

このmoveTo関数は、引数に
・目標地点の絶対座標(X)
・目標地点の絶対座標(Y)
・到達までにかかる時間
を持たせることが出来ます。

参考動画では3つめの「到達までにかかる時間」を指定していませんが、この場合実行した瞬間にカーソルが移動します。
指定したい場合はこのように書きます。

マウスカーソルをディスプレイ左上に移動させる(時間指定あり)
pyautogui.moveTo(1, 1, 10)

10の部分を変えると速度が変更できます。

例としてまずは簡単なマウスの移動を実装しました。
ここからはメジャーなマウス関連の関数を紹介していきます。

5.マウス関連の関数紹介

・ボタン

指定したスクリーン座標をクリック出来ます。

指定した座標を左クリック
pyautogui.click(positionX,positionY)
指定した座標を右クリック
pyautogui.rightClick(positionX,positionY)
ボタンを押した状態にする
pyautogui.mouseDown()
ボタンを離す
pyautogui.mouseUp()

・移動

マウスカーソルの移動が出来ます。

マウスカーソルを指定した座標に移動させる
pyautogui.moveTo(positionX,positionY)
マウスカーソルを現在値から指定した数だけ移動させる
pyautogui.moveRel(valueX,valueY)

6.ペイントツールで遊ぶ

動作確認も兼ねて、マウス操作が可視化出来るペイントツールで遊んでいこうと思います。
先ほど紹介した関数を組み合わせて、正方形を描画してみます。

ペイントツールを全画面で起動し、同じコードを実行してみましょう。

行う処理
#図形の四角を選択する
pyautogui.click(460,60,1)

#マウスを初期位置に移動
pyautogui.moveTo(300,200,1)

#左ボタンを長押し
pyautogui.mouseDown()

#マウスを今の位置から横に200、縦に200移動
pyautogui.moveRel(200,200,2)

#左ボタンを離す
pyautogui.mouseUp()

実行結果がこちら。

こんな感じです。
今更ですが、プログラムは上から下に向かって順番に実行されます。

7.まとめ

以上がPyAutoGUIを使ったマウス操作の実装です。
最後まで読んでいただきありがとうございました!