Pythonでキーボードを操作するPyAutoGUIによる自動操作マニュアル
PyAutoGUIは、Pythonからマウスやキーボードを自動操作できるライブラリです。
キー入力やマウスを使ったコンピューターの操作手法をGUIといいます。
いま行っている画面操作がそうですね。
PyAutoGUIでは、このGUI操作をコンピュータに自動的に実行させることができます![]()
PyAutoGUIを使うにはインストールが必要
〇前提条件
Pythonの開発環境があること
まだPythonの開発環境がない方は以下の記事で、簡単に導入できます↓
PyAutoGUIを使うには、プログラム実行前にライブラリのインストールが必要になります。
pip install pyautogui
Windowsの場合、上記のインストールを済ませてからプログラムを実行します。
pip install pyobjc-core
pip install pyobjc
Macの場合、さらに2つのライブラリも追加でインストールしておきます。
キーボードを操作する関数
キーボードを操作するために使用する関数です。
| メソッド | 説明 |
|---|---|
pyautogui.press() |
キーボードの()を押す |
pyautogui.typewrite() |
キーボードの()を順番にタイピング |
pyautogui.hotkey() |
キーボードの()を同時に押す |
pyautogui.keyDown() |
キーボードの()を押したままにする |
pyautogui.keyUp() |
キーボードの()を離す |
キーボードを操作する関数のイメージ
- pyautogui.press(‘キー’)は、キーボード上の指定したキーを1つ押す関数です。
- pyautogui.hotkey(‘キー1′,’キー2’)は、キーボードの複数のキーを同時押しできます。
- pyautogui.typewrite(‘文字列’)は、1文字以上の文字列を入力できます。
以下は、PyAutoGUIを使用して各キーを操作する際に使用できる表現です。
| キー | 表現 |
|---|---|
| 英字 |
'a', 'b', 'c', 'd', ... |
| 英数字 |
'1', '2', '3', '4', ... |
| Ctrlキー |
'ctrlleft', 'ctrlright'
|
| Shiftキー |
'shiftleft', 'shiftright'
|
| Enterキー |
'enter', 'return', '\n'
|
| Spaceキー | 'space' |
| Backspaceキー | 'backspace' |
| Deleteキー | 'delete' |
| Altキー |
'altleft', 'altright'
|
| Tabキー |
'tab', '\t'
|
| Escキー | 'esc' |
| Homeキー | 'home' |
| Endキー | 'end' |
| Pauseキー | 'pause' |
| CapsLockキー | 'capslock' |
| NumLockキー | 'numlock' |
| Insertキー | 'insert' |
| PrintScreenキー | 'printscreen' |
| Windowsキー |
'winleft', 'winright'
|
| PageUpキー | 'pageup' |
| PageDownキー | 'pagedown' |
| 矢印キー(↑↓←→) |
'up', 'down', 'left', 'right'
|
| Functionキー |
'f1', 'f2', 'f3', ... 'f12'
|
| Volumeキー |
'volumeup', 'volumedown', 'volumemute'
|
簡単なプログラム例
わかりやすく書いてみたプログラムの例です。
上から順番に実行されていきます。
import pyautogui # PyAutoGUIライブラリをインポート
import pyperclip # pyperclipライブラリをインポート(クリップボード操作用)
import time # timeモジュールをインポート(時間待機用)
# ユーザーに検索クエリを入力するように要求
input_string = input("explorer search:")
# 入力されたクエリをクリップボードにコピー
pyperclip.copy(input_string)
# ウィンドウズキー(Winキー)と「s」を組み合わせて、Windowsの検索ボックスを開く
pyautogui.hotkey('winleft', 's')
# "explorer" というテキストを検索ボックスに入力
pyautogui.typewrite('explorer')
# Enterキーを押して、検索を実行
pyautogui.hotkey('enter')
# 5秒間待機(検索結果が表示されるのを待つため)
time.sleep(5)
# Ctrl+Vを使ってクリップボードの内容(ユーザーが入力した検索クエリ)を貼り付け
pyautogui.hotkey('ctrl', 'v')
# Enterキーを押して、クエリを実行
pyautogui.hotkey('enter')
# 2秒間待機
time.sleep(2)
# Tabキーを2回押して、最初の検索結果にフォーカスを当て、Enterキーを押して選択
pyautogui.hotkey('tab', 'tab')
pyautogui.hotkey('enter')
プログラム実行方法
- コマンドプロンプトから実行
- マウスでファイルを選択して実行
今回はマウスでファイルを選択して実行します。
プログラムが実行されると以下のウィンドウが表示されます。
input_string = input("explorer search:") //ユーザーに検索クエリを入力するように要求
「weather」と入力してみます。
pyperclip.copy(input_string) //入力されたクエリがクリップボードにコピーされます
pyautogui.hotkey('winleft', 's') //ウィンドウズキー(Winキー)と「s」を組み合わせて、Windowsの検索ボックスが開きます
pyautogui.typewrite('explorer') //"explorer" というテキストを検索ボックスに入力
pyautogui.hotkey('enter') //Enterキーを押して、検索を実行
time.sleep(5) //5秒間待機(検索結果が表示されるのを待つため)
pyautogui.hotkey('ctrl', 'v') //Ctrl+Vを使ってクリップボードの内容(weather)を貼り付け
pyautogui.hotkey('enter') //Enterキーを押して、クエリを実行
time.sleep(2) //2秒間待機
pyautogui.hotkey('tab', 'tab') //Tabキーを2回押して、最初の検索結果にフォーカスを当てる
pyautogui.hotkey('enter') //Enterキーを押して選択されます
一番上に検索結果がきたウェザーニュースが表示されました。
少しキャプチャではわかりにくい部分もあると思いますが、誰かの参考になればと思います![]()







