マウス操作やキーボード入力をPythonから自動化したいと考えたことはありませんか? そんなときに非常に便利なのが「pyautogui」というライブラリです。この記事では、pyautoguiを使ってPC操作を自動化する方法を、初心者向けに分かりやすく解説します。GUI操作の自動化や画像認識クリック、キーボード入力などをPythonで制御したい方は必見です。
pyautoguiとは?
pyautogui
は、PythonでGUI(グラフィカル・ユーザー・インターフェース)操作を自動化するためのクロスプラットフォーム対応ライブラリです。人間が行うようなマウスの移動・クリックやキーボード入力をプログラムから再現することができます。
主な機能
- マウスの移動、クリック、ドラッグ
- キーボード入力(文字、キー送信)
- スクリーンショット撮影
- 画像認識による画面上の操作
pyautoguiのインストール方法
インストールは非常に簡単で、pipコマンドを使って以下のように導入できます:
pip install pyautogui
macOSやLinuxでは追加でpython3-tk
やscrot
などの依存パッケージが必要な場合があります。
pyautoguiの基本操作まとめ
まずは、よく使う基本操作から紹介します。
import pyautogui
# 画面サイズの取得
print(pyautogui.size()) # 例: Size(width=1920, height=1080)
# マウスを指定座標へ移動(1秒かけて)
pyautogui.moveTo(100, 200, duration=1)
# 左クリック
pyautogui.click()
# ドラッグ(押したまま移動)
pyautogui.dragTo(500, 500, duration=1)
# キーボード入力
pyautogui.write('Hello, world!', interval=0.1)
# 特殊キーの送信(Enterなど)
pyautogui.press('enter')
スクリーンショットの取得
画面のキャプチャを撮ることも可能です。
screenshot = pyautogui.screenshot()
screenshot.save('screenshot.png')
画像認識でクリックする方法
対象のボタンやアイコンを「画像」で指定して自動クリックすることができます。
location = pyautogui.locateOnScreen('button.png')
if location:
pyautogui.click(location)
よくある使い方:
- アプリ起動後に「OKボタン」などを画像で指定して押す
- ゲームや業務アプリのボタン操作を自動化
実践例:メモ帳に自動で文字を入力
import pyautogui
import time
# メモ帳を手動で開いておく
print("5秒後に入力開始...")
time.sleep(5)
pyautogui.write("こんにちは、これは自動入力です!", interval=0.1)
pyautogui.press("enter")
エラー防止と緊急停止方法
pyautoguiには、安全対策も用意されています。
マウス移動で強制停止
マウスカーソルを画面の左上(座標 0,0)に移動すると、自動操作が強制終了されます。
pyautogui.FAILSAFE = True
実行速度を遅くする
操作が速すぎてうまく動かない場合は、間隔を入れましょう。
pyautogui.PAUSE = 0.5
pyautoguiでできること
pyautoguiを使えば、GUIアプリの自動テストや業務の自動化、ゲームの操作補助など、さまざまなPC操作をPythonで制御することが可能になります。実行中の安全対策もあり、安心して自動化処理を作ることができます。
これからPC操作の自動化に挑戦したい人は、まずはpyautoguiから始めてみましょう。繰り返し作業を効率化したい人や、自動入力・クリック処理を組み込みたいエンジニアに特におすすめです。