Windows Desktop GUI-Automatisierung mit Python - Sleep vs tight loop

Ich benutze die PyAutoGUI-Bibliothek von Python, um die Benutzeroberfläche zu automatisieren. Die Anwendung, die ich automatisiere, öffnet ein neues Fenster, nachdem ich mit der Dateneingabe in meinem aktuellen Fenster fertig bin. Alles wird von der Python-Automatisierung erledigt (Dateneingabe in meinem aktuellen Fenster und der Klick, der zum Öffnen des Fensters erforderlich ist).

Wenn der Klick im aktuellen Fenster ausgeführt wird, dauert es einige Zeit, bis das neue Fenster geöffnet ist (dies kann zwischen 2 und 5 Sekunden liegen). Es gibt also zwei Möglichkeiten, die ich mir vorstellen kann:

Schlaf mittime.sleep(5) (Con: 3 Sekunden werden möglicherweise unnötig verschwendet)Spin in einer engen Schleife, bis das Fenster auf dem Bildschirm angezeigt wird. PyAutoGUI bietet einlocateOnScreen -Funktion, mit der festgestellt werden kann, ob das Fenster tatsächlich auf dem Bildschirm angezeigt wird. (Dies ist jedoch CPU-intensiv und die Funktion selbst ist CPU-intensiv und benötigt fast 2 Sekunden, um zurückzukehren.)

So sieht es aus [1] ist eine bessere Option für mich. Gibt es eine andere Technik, die ich vielleicht übersehen habe, die besser wäre als eine dieser beiden Methoden? Vielen Dank

Antworten auf die Frage(4)

Ihre Antwort auf die Frage