pywinauto ist eine Reihe von Python-Modulen zur Automatisierung der Microsoft Windows-GUI. Im einfachsten Fall können Sie Maus- und Tastaturaktionen an Windows-Dialoge und -Steuerelemente senden, es werden jedoch auch komplexere Aktionen wie das Abrufen von Textdaten unterstützt.
Unterstützte Technologien unter der Haube: Win32 API ( backend="win32"
; standardmäßig verwendet), MS UI Automation ( backend="uia"
). Die Benutzereingabe-Emulationsmodule mouse
und keyboard
funktionieren sowohl unter Windows als auch unter Linux.
Starten Sie einfach das Repo oder spenden Sie.
Ihre Hilfe ist wertvoll, da dies für uns alle ein Hobbyprojekt ist: Wir entwickeln neue Funktionen außerhalb der Bürozeiten.
pip install -U pywinauto
aus (Abhängigkeiten werden automatisch installiert)Es ist einfach und die resultierenden Skripte sind sehr gut lesbar. Wie einfach?
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 )
Detaillierteres Beispiel für 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
), um die Methode capture_as_image()
aufrufen zu können, um einen Snapshot eines Steuerelements zu erstellen. Führen Sie alle Tests aus: python ./pywinauto/unittests/testall.py
Pull-Anfragen sind herzlich willkommen. Weitere Informationen zu Komponententests, Codierungskonventionen usw. finden Sie im Beitragsleitfaden.
Pywinauto für die native Windows-GUI wurde ursprünglich von Mark Mc Mahon geschrieben. Mark hat mithilfe der Leistungsfähigkeit von Python viele großartige Ideen ins Leben gerufen. Weitere Mitwirkende lassen sich von der netten API inspirieren, sodass die Entwicklung weitergeht.
Ab 0.6.0 wird pywinauto unter der BSD-3-Klausel-Lizenz vertrieben. Pywinauto 0.5.4 und früher wurden unter der LGPL v2.1 oder höher vertrieben.