PyAutoGUIによるマウス、キーボードの自動化

 はじめに

特定のソフトを開いて決まったボタンを押す作業、毎日面倒だな…。
同じデータを何度も入力する業務面倒だな…。

こういった悩み、Pythonで自動化をすることで解決することができます。

マウスやキーボードの自動化とは?
人間が手動で行う操作をプログラムやスクリプトによって実現する技術です。これにより、相当な時間の節約や効率化が可能です。
一度スクリプトを作ってしまえば、以後は自動的に作業を動かせるので、無駄な時間を削減できるだけでなく、人間が作業する際に発生しがちなミスも減らすことができます。
自動化が役立つシーン
  • 毎日同じ作業を繰り返す場合(例:定型文の入力、特定のボタンのクリック)
  • テストや開発で単純操作を再現したい場合

本記事では、Pythonの「PyAutoGUI」というライブラリを使って、マウスやキーボードを自動操作する方法を解説します。

この記事でわかること

1.「PyAutoGUI」ライブラリの準備方法(解説付き)
2.簡単なコード例を使った実装方法
3.実行結果と動作確認

PyAutoGUIの準備

PyAutoGUIは、Pythonを使ってマウスやキーボードの操作を自動化できるライブラリです。
例えば、指定した座標へマウスを移動させたり、クリックやスクロールを行うことができます。さらに、キーボード入力も可能で、特定のキーを押したり、文章を自動入力することもできます。

  • マウスの移動、クリック、スクロール
  • キーボード入力、自動タイピング
  • 画面キャプチャや画像認識

PyAutoGUIはPythonに標準で含まれていないため、使用する前にインストールが必要です。

インストール方法

ターミナルで以下のコマンドを実行してください

ターミナル
pip install pyautogui

インストールが完了したら、Pythonの対話型シェル(python または ipython)で以下のコードを実行し、動作確認をしましょう。

アクセシビリティの設定

  1. 「プライバシーとセキュリティ」→「アクセシビリティ」を開く
  2. 使用しているエディタ(VSCode, ターミナル など)をリストに追加
    すでに登録されている場合でも、一度オフにして再度オンにする(筆者の場合VSCodeを利用しているため、VSCodeにチェック)
  3. 設定を適用するために、Macを再起動する

これらの設定を適用した後、PyAutoGUIのスクリプトを実行し、マウスやキーボードの操作が正常に行われるか確認してください。

動作確認をしてみよう

python
import pyautogui
print(pyautogui.position()) # 現在のマウスカーソル位置を取得

エラーが発生せずに座標が表示されれば、正しくインストールされています。

補足 PyAutoGUIを動作させるには、追加のライブラリが必要になることがあります。もしimport pyautoguiでエラーが出た場合は、以下のコマンドも実行してください。

ターミナル
pip install pillow

これは、PyAutoGUIがスクリーンキャプチャ機能を使用するために必要なライブラリです。
これで準備完了です!次のステップでは、PyAutoGUIを使った基本的なマウスやキーボード操作を学んでいきましょう!

コードスクリプト

PyAutoGUIで可能な自動化には、大きく分けて マウス操作キーボード操作 の2パターンがあります。
ここでは、それぞれの基本的な使い方を紹介します。

マウスの操作を自動化

auto_mouth.py
import pyautogui
import time

# 指定した座標(500, 500)に1秒かけて移動
pyautogui.moveTo(500, 500, duration=1)

# クリック
pyautogui.click()

# 3秒後に終了
time.sleep(3)
print("マウス操作が完了しました。")
説明
  • moveTo: 指定した座標にマウスを移動。durationで移動時間を設定。
  • click: 現在の位置でクリック動作を実行。
実行結果
実行後、マウスが指定座標に移動しクリック動作を実行。

キーボードの操作を自動化

今回は同じ階層にあるmemo.txtを開いて、指定のテキストを自動で入力するところまで実装していきたいと思います。

auto_keyboard.py
import pyautogui
import time
import os

# "memo.txt" をデフォルトのテキストエディタで開く
os.system("open memo.txt")  # Macの場合 ("open" を使う)
# os.system("notepad memo.txt")  # Windowsの場合

# 2秒待機して、テキストエディタが開くのを待つ
time.sleep(2)

# メモ帳がアクティブになったら、テキストを入力
typing_text = "Hello World!"
pyautogui.typewrite(typing_text, interval=0.1)

# Enterキーを押す
pyautogui.press("enter")
コード解説
  • pyautogui.hotkey("command", "tab"): メモ帳を開いた後、フォーカスを移動。
  • write(text, interval=n): 指定したテキストを入力。interval で文字ごとの入力間隔を指定。
  • press(key): 指定したキーを押す(例: enter, space, esc など)。

 

注意点

時には注意が必要(自動化禁止のアプリやサービスには適用しない)。

動作の確認と安全対策(ループ制御や停止方法)を心掛ける。


まとめ

本記事では、PyAutoGUIを使用したマウスとキーボードの自動化について解説しました。

マウスやキーボード操作を自動化することで、単調な作業を効率化し、作業時間の短縮が可能になります。また、手作業による入力ミスを防ぎ、安定した処理を実現できます。

作業負担を減らすことで、より重要なタスクに集中できるようになります。ぜひ今回紹介した内容を参考に、まずは簡単なスクリプトを書いて、自動化の効果を実感してみてください。

コメント

  1. LarryHet より:

    Hello!

    This post was created with XRumer 23 StrongAI.

    Good luck 🙂

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