pywinauto — это набор модулей Python для автоматизации графического интерфейса Microsoft Windows. В простейшем случае он позволяет отправлять действия мыши и клавиатуры в диалоговые окна и элементы управления Windows, но поддерживает и более сложные действия, такие как получение текстовых данных.
Поддерживаемые технологии: Win32 API ( backend="win32"
; используется по умолчанию), MS UI Automation ( backend="uia"
). Модули эмуляции пользовательского ввода, mouse
и keyboard
работают как в Windows, так и в Linux.
Просто пометьте репозиторий или сделайте пожертвование.
Ваша помощь ценна, поскольку для всех нас это хобби: мы занимаемся разработкой новых функций во внерабочее время.
pip install -U pywinauto
(зависимости будут установлены автоматически)Это просто, а полученные сценарии очень читабельны. Насколько просто?
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 )
Более подробный пример для 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
pip install -U Pillow
), чтобы иметь возможность вызывать метод capture_as_image()
для создания снимка элемента управления. Запустите все тесты: python ./pywinauto/unittests/testall.py
Запросы на вытягивание очень приветствуются. Прочтите Руководство по участию для получения более подробной информации о модульных тестах, соглашениях по кодированию и т. д.
Pywinauto для собственного графического интерфейса Windows изначально был написан Марком МакМахоном . Марк воплотил в жизнь множество замечательных идей, используя возможности Python. Дальнейшие участники воодушевлены хорошим API, поэтому разработка продолжается.
Начиная с версии 0.6.0 pywinauto распространяется под лицензией BSD с 3 пунктами. Pywinauto 0.5.4 и более ранние версии распространялись под лицензией LGPL v2.1 или более поздней версии.