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キーを押して選択されます
一番上に検索結果がきたウェザーニュースが表示されました。
少しキャプチャではわかりにくい部分もあると思いますが、誰かの参考になればと思います