今回はマウス・キーボードの操作を自動化する「PyAutoGUI」の基本を紹介します。ここでは基本のコマンドを説明して、今後紹介予定であるデスクトップ上での操作自動化の基礎知識として覚えてもらえればと思います。
1.コマンド一覧
PyAutoGUIは標準ライブラリではないのでインストールが必要です。
pip install pyautogui
次にPyAutoGUIのコマンドの紹介です。
| キーボード | マウス | ||
|---|---|---|---|
| コマンド | 操作 | コマンド | 操作 |
| press() | キーを押す | click() | クリック |
| typewrite() | キー入力 | doubleClick() | ダブルクリック |
| hotkey() | 同時押し | position() | カーソルの現在位置を取得 |
| keyDown() | キーを押したまま | moveTo() | カーソルを指定の座標へ移動 |
| keyUp() | キーを離す | moveRel() | カーソルを現在位置から指定の距離移動 |
| dragTo() | ドラックして指定の座標へ移動 | ||
| dragRel() | ドラックして指定の距離移動 | ||
※座標は画面左上を始点に右方向をx、下方向をyと進みます
2.コマンド活用例
上記で紹介したコマンドを組み合わせてExcelへ記入する例を書いてみます。
※ここではpyautoguiの動きを確認するためopenpyxlを使わずに、画像のようにExcel画面を立ち上げた状態でマウス操作をしています。

import pyautogui, time
#事前準備:入力したいセルの座標取得&表示
mp = pyautogui.position()
print(mp)
#Excel上の座標をクリックしてExcelに切り替え
pyautogui.click(x=70, y=235)
time.sleep(1)
#入力したい座標へ移動してクリック
pyautogui.click(x=70, y=235)
time.sleep(1)
#文字列を0.2秒間隔で入力
pyautogui.typewrite('abc', interval=0.2)
time.sleep(1)
#エンターキーを押し、下のセルへ移動
pyautogui.press('enter')
time.sleep(1)
# 'ctrl'+'d'(上の値を貼付け)を同時押し
pyautogui.hotkey('ctrl','d')
ここでは動きが確認できるようにtimeをインポートして、各動作後に1秒の待機時間を設定しています。
事前準備として先に、操作したいセルの上にカーソルを持っていきposition()コマンドで座標を取得しています。(今回の場合セル「A1」の座標(70, 235))
座標の確認が済んだら操作したいコマンドを適宜書いていきます。
今回プログラム実行後にExcel画面に切り替えるために、セル「A1」をクリックするコマンドを2回書いています。
またtypewrite()コマンドでは後ろに入力間隔を0.2秒にする設定をしていますが、オプションのため、不要であれば記載はいりません。
3.終わりに
今回はpyautoguiの基本操作を紹介しました。オプションを設定せずに最低限のコマンドであれば簡単なので、書き方に自信がなかったり、忘れてしまった時は考え込まずに検索をして時間をかけずに実行していきましょう。

コメントを残す