pywinauto é um conjunto de módulos python para automatizar a GUI do Microsoft Windows. Na sua forma mais simples, permite enviar ações do mouse e do teclado para caixas de diálogo e controles do Windows, mas tem suporte para ações mais complexas, como obter dados de texto.
Tecnologias internas suportadas: API Win32 ( backend="win32"
; usada por padrão), MS UI Automation ( backend="uia"
). Os módulos de emulação de entrada do usuário, mouse
e keyboard
funcionam no Windows e no Linux.
Basta marcar o repositório com uma estrela ou fazer uma doação.
Sua ajuda é valiosa, pois este é um projeto de hobby para todos nós: desenvolvemos novos recursos fora do horário comercial.
pip install -U pywinauto
(as dependências serão instaladas automaticamente)É simples e os scripts resultantes são muito legíveis. Quão simples?
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 )
Exemplo mais detalhado para 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
) para poder chamar o método capture_as_image()
para fazer um snapshot de um controle. Execute todos os testes: python ./pywinauto/unittests/testall.py
Solicitações pull são muito bem-vindas. Leia o Guia de Contribuição para obter mais detalhes sobre testes unitários, convenções de codificação, etc.
Pywinauto para GUI nativa do Windows foi inicialmente escrito por Mark Mc Mahon . Mark trouxe muitas ideias excelentes para a vida usando o poder do Python. Outros colaboradores se inspiram na bela API para que o desenvolvimento continue.
A partir da versão 0.6.0, o pywinauto é distribuído sob a licença BSD de 3 cláusulas. Pywinauto 0.5.4 e anteriores foram distribuídos sob a LGPL v2.1 ou posterior.