
【Send_keys】 pywinautoでキーボード操作
pywinautoでは、キーボードの操作をするために、Send_keysメソッドが用意されています。
本記事では、Send_keysメソッドの
・役割
・基本構文と使い方
・操作可能なキーについて
上記の3点について、解説していきたいと思います。
Send_keysの役割
send_keys
メソッドは、Windowsアプリケーションに対してキーボード入力をシミュレートするための関数です。
GUIの自動化を行う際に、文字の入力やショートカットキーの実行、ボタンの選択などをスクリプトで操作できます。
主な役割
活用シーン

Send_keysの活用シーンとしては以下の3点があります。
・デスクトップアプリのテスト自動化:フォーム入力、UIの動作検証
・業務効率化:ExcelやWordなどのデータ入力を自動化
・RPA(ロボティック・プロセス・オートメーション):繰り返し作業をプログラムで再現
基本構文と使い方

Send_keys()の使い方は非常に簡単です!
引数に押下したいボタンの種類を指定するだけです。
基本構文
send_keys
は、以下のように記述します。
window.send_keys("入力したい文字列")
基本的な使い方
以下のコードは、メモ帳(Notepad)を開き、テキストを入力する例です。
from pywinauto import Application
import time
# メモ帳を起動
app = Application().start("notepad.exe")
# メモ帳のウィンドウを取得
window = app.window(title="無題 - メモ帳")
# ウィンドウがアクティブになるのを待つ
window.wait("ready")
# テキスト入力
window.send_keys("pywinautoで自動入力テスト")
# 保存ダイアログを開く(Ctrl + S)
window.send_keys("^s")
# 適当な待機時間を入れる
time.sleep(2)
操作可能なキーについて

Send_keys()で操作可能なキーの種類は豊富にあります。
様々なキーを組み合わせることで、業務効率化に役立ててください!
本セクションでは、
・操作可能なキーについて
・複数のキーの組み合わせ
上記の2点について、解説します!
操作可能なキーについて

操作可能なキーの数が非常に多いので、公式ドキュメントを共有します!
複数キーの組み合わせ
send_keys()
メソッドを使用すると、
CtrlやShiftなどの修飾キーと他のキーを組み合わせた入力を自動化できます。
例えば、
・「Ctrl + C」
・「Alt + Tab」
といったショートカットキーの動作をスクリプトで再現できます。
基本的な構文
複数のキーを同時に押すには、以下の特殊記号を使用します。
記号 | キー | 例(動作) |
---|---|---|
^ |
Ctrlキー | ^c (Ctrl + C) |
% |
Altキー | %f (Alt + F) |
+ |
Shiftキー | +a (Shift + A) |
{キー} |
特殊キー | {ENTER} (Enterキー) |
ショートカットキーの送信例
以下のコードは、メモ帳でテキストを入力し、ショートカットキーを利用する例です。
from pywinauto import Application
import time
# メモ帳を起動
app = Application().start("notepad.exe")
# メモ帳のウィンドウを取得
window = app.window(title="無題 - メモ帳")
# ウィンドウがアクティブになるのを待つ
window.wait("ready")
# テキスト入力
window.send_keys("pywinautoのsend_keysテスト")
# 全選択(Ctrl + A)
window.send_keys("^a")
# コピー(Ctrl + C)
window.send_keys("^c")
# 貼り付け(Ctrl + V)
window.send_keys("^v")
# 適当な待機時間を入れる
time.sleep(2)
3つのキーを組み合わせる方法
Ctrl + Shift + Esc のように、複数の修飾キーを組み合わせる場合は、以下のように記述します。
# Ctrl + Shift + Esc(タスクマネージャーを開く)
window.send_keys("^+{ESC}")
# Ctrl + Shift + N(新しいフォルダーを作成)
window.send_keys("^+n")
まとめ

本記事でpywinautoでは、
キーボードの操作をするためのSend_keysメソッドについて
・役割
・基本構文と使い方
・操作可能なキーについて
の3点について解説してきました。
今回解説した内容が皆さんの業務効率化に役立てられればうれしいです。
下に関連記事のリンクがあるので、ぜひご覧ください!
関連記事

コメント