pywinauto es un conjunto de módulos de Python para automatizar la GUI de Microsoft Windows. En su forma más simple, le permite enviar acciones del mouse y el teclado a los cuadros de diálogo y controles de Windows, pero admite acciones más complejas, como obtener datos de texto.
Tecnologías admitidas bajo el capó: API Win32 ( backend="win32"
; utilizada de forma predeterminada), MS UI Automation ( backend="uia"
). Los módulos de emulación de entrada de usuario, mouse
y keyboard
funcionan tanto en Windows como en Linux.
Simplemente destaque el repositorio o haga una donación.
Su ayuda es valiosa ya que este es un proyecto de hobby para todos nosotros: desarrollamos nuevas funciones fuera del horario de oficina.
pip install -U pywinauto
(las dependencias se instalarán automáticamente)Es simple y los scripts resultantes son muy legibles. ¿Qué tan simple?
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 )
Ejemplo más detallado 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 llamar al método capture_as_image()
para crear una instantánea de un control. Ejecute todas las pruebas: python ./pywinauto/unittests/testall.py
Las solicitudes de extracción son bienvenidas. Lea la Guía de contribución para obtener más detalles sobre pruebas unitarias, convenciones de codificación, etc.
Pywinauto para la GUI nativa de Windows fue escrito inicialmente por Mark Mc Mahon . Mark dio vida a muchas ideas geniales utilizando el poder de Python. Otros contribuyentes se animan con la bonita API para que el desarrollo continúe.
A partir de 0.6.0, pywinauto se distribuye bajo la licencia BSD de 3 cláusulas. Pywinauto 0.5.4 y anteriores se distribuyeron bajo LGPL v2.1 o posterior.