Pythonでmouseモジュールを使ってマウスの位置を取得してみます。
今回はmouseモジュールを用います。このライブラリ、モジュールはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。
■Python
今回のPythonのバージョンは、「3.10.9」を使用しています。(Windows11)(pythonランチャーでの確認)
■mouseモジュールを使ってマウスの位置を取得する
では、早速mouseモジュールを使ってマウスの位置を取得するスクリプトを書いていきます。
■コード
import mouse import time def main(): print("マウスの位置を取得します。5秒後にクリックします。") # マウスの位置を取得 x, y = mouse.get_position() print(f"現在のマウスの位置:x={x}, y={y}") # 5秒待機 time.sleep(5) # マウスの位置を取得してからクリック x, y = mouse.get_position() print(f"クリックする位置:x={x}, y={y}") mouse.click() if __name__ == "__main__": main()
まずはmouseモジュールとtimeモジュールをインポートします。mouseモジュールはマウスの制御に、timeモジュールは時間の待機に使用されます。
次にmainという名前の関数が定義します。これはプログラムのメインの処理を実行する関数です。この関数は後で呼び出されます。次にprint(“マウスの位置を取得します。5秒後にクリックします。”)`:と記述し、コンソールにメッセージを表示します。プログラムがどのような処理を行うかをユーザーに知らせるためのメッセージです。更にx, y = mouse.get_position()と記述し、mouse.get_position()関数を使って、現在のマウスの位置を取得しています。取得した位置は変数`x`と`y`に格納されます。
格納後、print(f”現在のマウスの位置:x={x}, y={y}”)と記述し、`x`と`y`に格納された現在のマウスの位置を表示します。
次にtime.sleep()関数を使って、プログラムが5秒間待機します。これにより、マウスの位置を取得した後に5秒間待ってから次の処理を行います。さらに再びmouse.get_position()関数を使って、5秒後の時点でのマウスの位置を再度取得しています。この位置がクリックする位置となります。
その後、print(f”クリックする位置:x={x}, y={y}”)と記述し、5秒後の時点でのクリックする位置を表示します。
次にmouse.click()関数を使って、指定した位置`x`と`y`でマウスをクリックします。
最後にif __name__ == “__main__”:と記述します。これはプログラムを実行した際に`main()`関数を呼び出すための条件文です。これにより、このスクリプトファイルが他のファイルからインポートされた場合に`main()`関数が実行されないようにしています。`__name__`は、Pythonの特殊な変数で、スクリプトが実行されるときには`”__main__”`という値を持ちます。
注意点として、このプログラムはマウスを実際にクリックするため、実行する際には他のアプリケーションの操作に影響を及ぼす可能性がある
■実行・検証
このスクリプトを「m_test.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。
実行してみると、コンソールに現在のマウスの位置が表示されることを確認できました。
コメント