Pywinautoとは
- PythonでPC操作の自動化(RPA)を行うためのライブラリ
概念
-
バックエンド
-
Pywinautoがアプリと接続するための手段。以下の2つがある。
-
UI Automationベース(
backend="uia"
)- 64ビットアプリを接続対象とする。
-
Win32 API ベース(
backend="win32"
)- 32ビットアプリを接続対象とする。
-
-
-
エントリーポイント
-
アプリを制御するために利用するオブジェクト。以下の2つがある。
-
Applicationオブジェクト:プロセスをまたがない制御を行う
-
Desktopオブジェクト:プロセスをまたぐ制御を行う
-
-
事前準備
-
Pywinautoインストール
pip install pywinauto
コード
-
メモ帳を起動し、文字入力→
test.txt
というファイル名で保存を行う例test.py
from pywinauto.application import Application # メモ帳を起動する app = Application(backend="uia").start("notepad.exe") # Hello Pywinautoと入力する app[u"無題メモ帳"].Edit.set_edit_text(u"Hello Pywinauto") # 名前を付けて保存 app[u"無題メモ帳"].menu_select(u"ファイル -> 名前を付けて保存") # 保存ダイアログ選択 dialog = app[u"無題 - メモ帳Dialog"] # ファイル名入力 dialog[u'ファイル名2'].Edit.set_edit_text(u"テスト.txt") # 保存ボタン押下 dialog[u'保存'].click()
動作確認
-
コード実行
python test.py
※メモ帳が起動し、文字入力、ファイル保存が行われる。