【Python】キーボードを入力させる方法

Python

この記事では、Pythonを使って自動的にキーボード入力を行う方法について分かりやすく説明します。

Pythonで自動的にキーボード入力を行うには?

Pythonでは、自動的にキーボード入力を行うめの便利なライブラリがあります。今回は「pyautogui」を使って、キーボード入力を自動化します。

pyautoguiとは?

pyautoguiは、マウス操作やキーボード入力を自動で行うことができるPythonのライブラリです。
GUI(グラフィカルユーザーインターフェース)上の操作をPythonで自動化できるのが特徴です。

自動入力、クリック、スクリーンショットなど、たくさんの便利な機能がありますが、今回は「キーボード入力」に絞って説明します。

参考:【Python】マウスポインタの位置と画面サイズを取得する方法

pyautoguiのインストール方法

以下のコマンドを実行し、ライブラリをインストールします。

pip install pyautogui

文字を自動で入力する

pyautogui.write() を使って文字列を入力することが可能です。

import pyautogui
import time

time.sleep(3) # 3秒待ってから入力開始(準備時間)

pyautogui.write('Hello, this is automated typing!', interval=0.1)

4行目:time.sleep(3)は3秒間待機します。実行後に入力先アプリ(メモ帳など)に切り替える時間を確保できます。

6行目:pyautogui.write():文字列「Hello, this is automated typing!」を自動で入力します。interval=0.1は、文字ごとの間隔(秒)です。速すぎると読み取れないアプリもあるので、少し間を空けるのがおすすめです。

■実行結果の例

EnterやTabなどの特殊キーを入力するには?

pyautogui.write()では、文字入力しかできません。エンターキーやタブキーなどを入力したいときは、pyautogui.press()を使います。

import pyautogui
import time

time.sleep(5)

pyautogui.write('Please enter your name.')
pyautogui.press('enter') # Enterキーを押す
pyautogui.write('Taro Tanaka')

■実行結果の例

■よく使うキー一覧(一部)

キー pyautoguiでの指定名
Enter “enter”
Tab “tab”
Esc “esc”
Backspace “backspace”
Shift “shift”
Ctrl “ctrl”
Alt “alt”

複数のキーを同時に押す:ショートカットを送信する

ショートカットキー(例:Ctrl+C、Ctrl+V)などを使いたい場合は、pyautogui.hotkey()が便利です。

import pyautogui
import time

time.sleep(3)

pyautogui.hotkey('ctrl', 'c') # Ctrl+C(コピー)
time.sleep(1)
pyautogui.hotkey('ctrl', 'v') # Ctrl+V(貼り付け)

複数のキーをリストで渡すだけで同時押しができます。[‘ctrl’, ‘s’]など保存操作にも使えます。

メモ帳に自動入力してみよう

実際に使ってみるとわかりやすいので、Windowsの「メモ帳」を開いて、そこに自動入力してみましょう。

import pyautogui
import time

print("5秒後に自動入力を開始します。メモ帳をアクティブにしておいてください。")
time.sleep(5)

pyautogui.write("おはようございます。\n今日はPythonで自動入力を試しています。\n", interval=0.1)
pyautogui.press("enter")
pyautogui.write("PyAutoGUIはとても便利です!", interval=0.1)

ポイント:

  • 事前にメモ帳を開いておき、スクリプト実行後にアクティブにすることで、そこに自動で入力されます。
  • \nは改行として使えます。

注意点と安全対策

pyautoguiには便利な機能がたくさんありますが、無限ループや操作ミスでPCが操作不能になることもあります。以下のような安全装置を必ず設定しましょう。

緊急停止のショートカット

マウスを画面左上に移動するとスクリプトが強制終了する「fail-safe機能」があります。

pyautogui.FAILSAFE = True

これはデフォルトで有効ですが、明示的に書いておくと安心です。

まとめ

今回は、Pythonを使って自動的にキーボード入力を行う方法について分かりやすく説明しました。

 

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