Pythonでマウスを操作する方法

Python

本記事ではPythonでマウスを操作する方法を解説します。
Pythonでマウスを操作することができれば作業の自動化をすることが可能になります。
今回は具体例として、

  • メモ帳を起動する
  • 日本語を書き込む
  • ファイルを保存する

という作業を自動化します。

ライブラリのインストール

PyAutoGUIとは

Pythonでマウスを操作するために、PyAutoGUIというライブラリを使用します。

GitHub - asweigart/pyautogui: A cross-platform GUI automation Python module for human beings. Used to programmatically control the mouse & keyboard.
A cross-platform GUI automation Python module for human beings. Used to programmatically control the mouse & keyboard. - ...

PyAutoGUIはマウスやキーボードをプログラムから自動で操作するライブラリです。

PyAutoGUIのインストール

PyAutoGUIのインストールは下記コマンドで可能です。

pip install pyautogui

pyperclipとは

pyperclipはPythonでコピー&ペーストを実行するためのライブラリです。

GitHub - asweigart/pyperclip: Python module for cross-platform clipboard functions.
Python module for cross-platform clipboard functions. - asweigart/pyperclip

PyAutoGUIで英語に関してはキーボード自動入力は可能ですが、日本語は自動入力できません。
その代わりにpyperclipを使用します。

pyperclipのインストール

pyperclipのインストールは下記コマンドで可能です。

pip install pyperclip

自動化の実装

それでは早速、PyAutoGUIとpyperclipを利用して自動化を試してみましょう。

# ①ライブラリのインポート
import pyautogui
import pyperclip

# ②処理実行ごとの待機時間の指定
pyautogui.PAUSE = 1.0

# ③PC画面のサイズを取得
width, height = pyautogui.size()

# ④スタートボタン上にカーソルを移動しクリック
pyautogui.moveTo(5, height-5, duration=1)
pyautogui.click()

# ⑤メモ帳を検索し、エンターで起動
pyautogui.write("memo")
pyautogui.press("enter")

# ⑥クリップボード経由で文字を入力
pyperclip.copy("この文章は自動で作成しました。")
pyautogui.hotkey('ctrl', 'v')

# ⑦ファイル保存のショートカットを実行
pyautogui.hotkey("ctrl", "s")

# ⑧ファイル名を入力し、保存
pyautogui.write("auto.txt", interval=0.5)
pyautogui.press("enter")
自動化の実装
  • ライブラリのインポート

    まずはpyautoguiとpyperclipをインポートします。

  • 処理実行ごとの待機時間

    各処理ごとに1秒間待機するようにします。
    これがないと正しく動作しません。

  • PC画面のサイズを取得

    PC画面のサイズを取得します。これは次の④で使用します。

  • スタートボタン上にカーソルを移動しクリック

    pyautogui.moveTo(x座標, y座標, duration=秒数)で(x, y)に指定した秒数でマウスを移動させます。座標は左上が(0, 0)です。
    マウスを移動させた後、pyautogui.click()でマウスクリックを実行します。

  • メモ帳を検索し、エンターで起動

    pyautogui.write(文字列)で文字列を入力できます。memoと入力すると、「最も一致する検索結果」にメモ帳が出ます。
    そのあと、pyautogui.press("enter")でエンターを実行しメモ帳を起動します。

  • 文字の入力

    pyperclip.copy(文字列)でクリップボードに文字列を準備します。
    そして、pyautogui.hotkey('ctrl', 'v')でCtrl+Vを実行しペーストを実行します。
    すると起動されたメモ帳に文字列が入力されます。

  • 保存

    pyautogui.hotkey("ctrl", "s")でCtrl+Sが実行されると「名前を付けて保存」のウィンドウが表示されます。

  • ファイル名を入力し、保存

    pyautogui.write("auto.txt", interval=0.5)で「auto.txt」というファイル名を0.5秒間隔で入力します。
    そして、pyautogui.press("enter")でエンターが実行され、ファイルが保存されます。

これを使いこなせば、色々なことを自動化できるのでぜひ試してみてください!

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