Pythonでマウス操作を自動化するにはPyAutoGUIが便利

Pythonでマウス操作を自動化するにはPyAutoGUIが便利 プログラミング

この記事では、Pythonで簡単にマウス操作を自動化するPyAutoGUIについて解説しています。
「こんなことが簡単にできるのか~」と思うことでしょう。

本記事の内容

  • Pythonでマウス操作を自動化する環境を整える
  • PyAutoGUIにおけるマウス操作の基本知識
  • PyAutoGUIで対応可能なマウス操作

それでは、上記に沿って解説していきます。

Pythonでマウス操作を自動化する環境を整える

Pythonでマウス操作を自動化するには、PyAutoGUIをインストールする必要があります。
まだ、インストールしていない場合は、次の記事をご覧ください。

簡単にインストールできます。
そして、簡単にPyAutoGUIを使うことが可能です。

次に、マウス操作についての基本を説明します。
実は、あまり意識できていないことかもしれません。

PyAutoGUIにおけるマウス操作の基本知識

マウス操作は、画面ありきということを意識できていますか?
クリックするにしても、単に移動するだけも画面上にマウスカーソルが見えていますよね。

まず、 マウス操作には画面(ディスプレイ)ありきだと認識してください。
基本的なことですが、忘れがちかもしれません。

そして、画面にはサイズがあります。
また、画面には位置(座標)が存在します。

  • サイズ
  • 座標

上記の2つが、マウス操作では前提となる要素だと意識してください。
基本的なことですが、意外と忘れがちなことです。

これらのことは、PyAutoGUIにおけるマウスの自動化でも前提となります。

0,0       X increases -->
+---------------------------+
|                           | Y increases
|                           |     |
|   1920 x 1080 screen      |     |
|                           |     V
|                           |
|                           |
+---------------------------+ 1919, 1079

サイズと座標が出てきていますね。
サイズとは、範囲とも言えます。

PyAutoGUIの場合、左上が原点(0, 0)となります。
では、みなさんの利用している画面(ディスプレイ)のサイズを表示してみましょう。

PyAutoGUIを使えば、サイズを簡単に表示できます。

import pyautogui

display_size = pyautogui.size()
print(display_size)

上記Pythonプログラムを実行結果は以下。

Size(width=1920, height=1080)

実際に画面の解像度を確認してみます。

画面の解像度が、先ほどから言っているサイズということになります。
本当にそうなのでしょうか?

では、解像度を変更してみましょう。
1600×900に変更します。

この状態で先ほどのプログラムを実行します。
その結果は、以下。

Size(width=1600, height=900)

「pyautogui.size()」は、解像度を取得する関数だと言い切れますね。
以上より、PyAutoGUIのマウス操作では、サイズと座標が重要な要素だと理解できたはずです。

では、次にPyAutoGUIで扱えるマウス操作を確認します。

PyAutoGUIで対応可能なマウス操作

公式サイトより、次の操作に対応していることがわかります。
https://pyautogui.readthedocs.io/en/latest/mouse.html

  • 移動
  • ドラッグ
  • クリック
  • ダウン
  • アップ
  • スクロール

クリック = ダウン + アップ
上記のように考えれば、イメージしやすいでしょう。

また、クリックにはダブルクリックやトリプルクリックも含みます。
そして、右クリック、左クリックも判別できます。

こうやって見てみると、基本的には何でもできると言えます。
ただ、ここまでの説明から勘違いする人がいるかもしれません。

特に、JavaScriptでマウスイベントなどをガリガリとコーディングしてる人ですね。
PyAutoGUIは、自動化することが主な機能となります。

よって、上記で挙げた操作は、自動で行うマウス操作です。
決して、クリックされた場合の処理を行なうとかではありません。

あくまで、マウスを自動で移動させたり、スクロールさせたり、クリックさせたりするのです。

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