Python マウスとキーボードを制御する(マウスの移動) - Why it doesn't work?
Python マウスとキーボードを制御する(マウスのクリック) - Why it doesn't work?
続きです。今回はキーボードの制御についてです。
1. 仮想キーボードから文字列を送信する
モニター上の座標(150, 90)にエディタウィンドウがある状態で、以下のプログラムを実行すると、エディタがクリックされ、Hello world!'が入力されます。
import pyautogui pyautogui.click(150, 90) pyautogui.typewrite('Hello world!')
typewrite()関数は時間(秒)を指定することが可能となっており、文字入力のスピードを調整することが可能になっています。
以下のように指定することで、一文字の入力が0.25秒ごとに行われるようになります。
pyautogui.typewrite('Hello world!', interval=0.25)
2. キーの押下とリリース
keyDown()関数とkeyUp()関数で仮想的にキーの押下とリリースを再現できます。下記のプログラムを実行すると大文字のエディタに入力されます。press()関数は、keyDown()関数とkeyUp()関数を順番に呼び出す関数です。
import pyautogui pyautogui.click(150, 90) pyautogui.keyDown('shift') pyautogui.press('a') pyautogui.keyUp('shift')
シフトキーなどのキーボードなどの名前はこちらを確認してください。
Keyboard Control Functions — PyAutoGUI 1.0.0 documentation
3. ホットキー
CtrlキーやAltキーなどを組み合わせて使用するホットキーはhotkey()関数を使用して再現できます。
例えば、Ctrl+cなどは以下のように表現されます。
pyautogui.hotkey('ctrl', 'c')
これは、以下の様にkeyDown()関数とkeyUp()関数でも表現できますが、hotkey()関数を使用してシンプルに表現することができます。
pyautogui.keyDown('ctrl') pyautogui.keyDown('c') pyautogui.keyUp('c') pyautogui.keyUp('ctrl')
まだ続きます。