pywinauto est un ensemble de modules Python pour automatiser l'interface graphique de Microsoft Windows. Dans sa forme la plus simple, il vous permet d'envoyer des actions de la souris et du clavier aux boîtes de dialogue et aux contrôles Windows, mais il prend en charge des actions plus complexes telles que l'obtention de données texte.
Technologies prises en charge sous le capot : API Win32 ( backend="win32"
; utilisé par défaut), MS UI Automation ( backend="uia"
). Les modules d'émulation de saisie utilisateur, mouse
et keyboard
fonctionnent à la fois sous Windows et Linux.
Il suffit de démarrer le dépôt ou de faire un don.
Votre aide est précieuse car il s'agit d'un projet de loisir pour nous tous : nous développons de nouvelles fonctionnalités en dehors des heures de bureau.
pip install -U pywinauto
(les dépendances seront installées automatiquement)C'est simple et les scripts résultants sont très lisibles. C'est 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 )
Exemple plus détaillé pour 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
) pour pouvoir appeler la méthode capture_as_image()
pour créer un instantané d'un contrôle. Exécutez tous les tests : python ./pywinauto/unittests/testall.py
Les demandes de tirage sont les bienvenues. Lisez le Guide de contribution pour plus de détails sur les tests unitaires, les conventions de codage, etc.
Pywinauto pour l'interface graphique native de Windows a été initialement écrit par Mark Mc Mahon . Mark a donné vie à de nombreuses idées géniales en utilisant la puissance de Python. D'autres contributeurs s'inspirent de la belle API pour que le développement continue.
À partir de la version 0.6.0, pywinauto est distribué sous la licence BSD à 3 clauses. Pywinauto 0.5.4 et versions antérieures étaient distribuées sous LGPL v2.1 ou version ultérieure.