Gibt es eine Möglichkeit, Verzögerungen bei double_click_input() Aktionen loszuwerden?Wie werden Verzögerungen bei double_click_input() Aktionen beseitigt?
Was ich versuche zu tun ist, doppelklicken Sie auf das Bearbeitungsfeld und geben Sie dann hier die Tasten ein. Möglicherweise haben beide Aktionen eine gewisse Verzögerung, so dass der gesamte Prozess sehr langsam abläuft.
Code:
myApp = Desktop(backend='uia').window(title_re='myTitle_re')
myApp.window(auto_id='myAutoId').window(title='myTitle').double_click_input()
myApp.descendants(title='myTitle', control_type='Edit')[1].type_keys('myKeys')
Und eine weitere Frage: Ich habe versucht, hier zu verwenden double_click(), aber es wirft immer eine Ausnahme:
AttributeError: WindowSpecification class has no 'double_click' method.
Dann habe ich versucht myApp.window(auto_id='myAutoId').window(title='myTitle').wrapper_object().double_click()
Und erhalten:
AttributeError: 'ListItemWrapper' object has no attribute 'double_click'
Was muss ich ändern, um diese Arbeit zu bekommen?
Ich benutze pywinauto 0.6.3.
Timings können mit der Klasse 'pywinauto.timings.Timings' ausgerichtet werden, sodass Sie die Verzögerung auf null setzen können. Ich kann auf den genauen Variablennamen am Abend zeigen. 'double_click' ist nicht implementiert, weil es unklar ist, welche stille Aktion (UIAutomation Pattern) als Doppelklick-Aktion interpretiert werden soll. Wir haben Methoden aufrufen und ButtonWrapper.click = Alias aufrufen. Aber für Nicht-Buttons kann InvokePattern eine andere Bedeutung haben. Deshalb haben wir es als '.invoke()' gelassen. Für 'backend =" win32 "' haben wir 'double_click' mit' WM_DBLCLICK' Fenstermeldung. Aber 'double_click_input' ist für beide Backends gleich. –
Entschuldigung für Verzögerungen mit Details. Es ist ein Hobbyprojekt, das wir außerhalb der Bürozeiten machen. –
Es ist in Ordnung, ich werde warten. :) Und danke für 'invoke()', es ist sogar besser als 'double_click_input()' für meinen Fall. –