Versuchen Sie, mithilfe der UI-Automatisierung Windows-GUI-Vorgänge mit Python zu automatisieren. Es gibt eine .NET-Version und eine COM-Version von UI Automation, aber ich möchte sie von CPython aus verwenden. Verwenden Sie daher die COM-Version. Vorerst habe ich überprüft, wie ich es nennen soll, also mach dir eine Notiz.
Empfehlungen zur UI-Automatisierung http://blogs.msdn.com/b/japan_platform_sdkwindows_sdk_support_team_blog/archive/2011/05/26/ui-automation.aspx
UI Automation http://msdn.microsoft.com/en-us/library/ee684009.aspx
Setzen Sie zuerst comtypes in pip,
pip install comtypes
Generieren Sie als Nächstes einen Wrapper für die UI-Automatisierung.
import comtypes
from comtypes.client import GetModule
GetModule('UIAutomationCore.dll')
Ein Wrapper-Modul wird in Lib \ site-packages \ comtypes \ gen erstellt. Vergleichen Sie anschließend die MSDN-Referenz von UI Automation mit _944DE083_8FB8_45CF_BCB7_C477ACB2F897_0_1_0.py, um herauszufinden, wie Sie sie verwenden können. (Der Dateiname kann je nach Umgebung unterschiedlich sein.)
Importieren Sie comtypes.gen.UIAutomationClient, um ein UI-Automatisierungsobjekt abzurufen und dies und das zu tun.
from comtypes.gen.UIAutomationClient import *
uia = CoCreateInstance(CUIAutomation._reg_clsid_,interface=IUIAutomation,clsctx=CLSCTX_INPROC_SERVER)
re = uia.GetRootElement() #Holen Sie sich das oberste Element des Desktops
print re.CurrentName # 'Desktop'
Versuchen Sie, über die UI-Automatisierung auf den Rechner (calc.exe) zuzugreifen. Weiter von oben.
import subprocess
calc = subprocess.Popen('calc.exe') #Starten Sie den Rechner
#Identifizieren Sie den Taschenrechner anhand der untergeordneten Elemente des Desktops, indem Sie die PID angeben
cond = uia.CreatePropertyCondition(UIA_ProcessIdPropertyId, calc.pid)
calc_win = re.FindFirst(TreeScope_Children, cond)
print calc_win.CurrentName # 'Taschenrechner'
Diesmal liegt es vorerst an hier. Ich habe den Punkt der Automatisierung von GUI-Vorgängen noch nicht erreicht, also werde ich vielleicht beim nächsten Mal fortfahren.
Recommended Posts