Github: https://github.com/pywinauto/pywinauto
パイナイト
pywinautoは、Microsoft Windows GUIを自動化する一連のPythonモジュールです。 最も単純な方法では、マウスとキーボードのアクションをウィンドウのダイアログとコントロールに送ることができますが、テキストデータの取得などのより複雑なアクションをサポートしています。
サポートされている技術:Win32 API( backend="win32"
;デフォルトで使用)、MS UIオートメーション( backend="uia"
)。 ユーザー入力エミュレーションモジュールmouse
とkeyboard
は、WindowsとLinuxの両方で動作します。
これを楽しんでいる?
レポをスターにしたり、寄付をしてください。
これは私たち全員の趣味のプロジェクトなので、あなたの助けは貴重です。休暇中に新機能の開発を行います 。
- 一般に、ライブラリは近い将来クロスプラットフォームになる傾向があります(Linuxは2018年、MacOSは2019年)。
- 信頼性の高いテキストベースの「レコード再生」ジェネレータも、開発中の最優先機能です。
- より多くの機能要求とディスカッションがこの問題で歓迎されています 。
セットアップ
-
pip install -U pywinauto
実行pip install -U pywinauto
(依存関係は自動的にインストールされる)
ドキュメント/ヘルプ
- ReadTheDocsの短い紹介
- スタートガイド (コアコンセプト、Spy / Inspectツールなど)
- 質問のStackOverflowタグ
- メーリングリスト
簡単な例
それは簡単で、結果として得られるスクリプトは非常に読みやすいです。 どのように簡単ですか?
from pywinauto.application import Application
app = Application().start("notepad.exe")
app.UntitledNotepad.menu_select("Help->About Notepad")
app.AboutNotepad.OK.click()
app.UntitledNotepad.Edit.type_keys("pywinauto Works!", with_spaces = True)
MS UIの自動化の例
explorer.exe
より詳細な例:
from pywinauto import Desktop, Application
Application().start('explorer.exe "C:\\Program Files"')
# connect to another process spawned by explorer.exe
# Note: make sure the script is running as Administrator!
app = Application(backend="uia").connect(path="explorer.exe", title="Program Files")
app.ProgramFiles.set_focus()
common_files = app.ProgramFiles.ItemsView.get_item('Common Files')
common_files.right_click_input()
app.ContextMenu.Properties.invoke()
# this dialog is open in another process (Desktop object doesn't rely on any process id)
Properties = Desktop(backend='uia').Common_Files_Properties
Properties.print_control_identifiers()
Properties.Cancel.click()
Properties.wait_not('visible') # make sure the dialog is closed
依存関係(手動でインストールする場合)
- Windows:
- Linux:
- オプションのパッケージ:
- コントロールのスナップショットを作成するための
capture_as_image()
メソッドを呼び出すには、pip install -U Pillow
をインストールします(pip install -U Pillow
によって)。
- コントロールのスナップショットを作成するための
ユニットテストの実行に必要なパッケージ
すべてのテストを実行します: python ./pywinauto/unittests/testall.py
貢献
プルのリクエストは大歓迎です。 単体テスト、コーディング規則などの詳細は、 「寄付ガイド」を参照してください。
著作権
ネイティブWindows GUI用のPywinautoは、最初Mark Mc Mahonによって書かれました。 Markは、Pythonのパワーを使って、多くの素晴らしいアイデアを人生にもたらしました。 さらに寄稿者は素晴らしいAPIに触発され、開発が続けられます。
0.6.0から始まるpywinautoはBSD 3節のライセンスの下で配布されています。 Pywinauto 0.5.4以前はLGPL v2.1以降で配布されました。
- (c) オープンソースコミュニティ 、2015-2018(0.6.0+開発)
- (c)Intel Corporation、2015(0.5.xメンテナンス)
- (c)Michael Herrmann、2012-2013(0.4.2)
- (c)Mark Mc Mahon、2006-2010(0.4.0以前)