Automatización de la GUI del escritorio de Windows usando Python - Sleep vs tight loop

Estoy usando la biblioteca PyAutoGUI de Python para automatizar la GUI. La aplicación que estoy automatizando abre una nueva ventana después de terminar con la entrada de datos en mi ventana actual. La automatización de Python se encarga de todo (la entrada de datos en mi ventana actual y el clic requerido para abrir la ventana).

Cuando el clic se realiza en la ventana actual, la nueva ventana tarda un poco en abrirse (que puede oscilar entre 2 y 5 segundos). Así que hay dos opciones en las que puedo pensar aquí:

Dormir usandotime.sleep(5) (Con: 3 segundos podrían desperdiciarse innecesariamente)Gire en un circuito cerrado hasta que aparezca la ventana en la pantalla. PyAutoGUI ofrece unlocateOnScreen función que podría usarse para averiguar si la ventana realmente ha aparecido en la pantalla. (Sin embargo, esto es intensivo en CPU y la función en sí es intensiva en CPU y tarda casi 2 segundos en volver)

Parece que [1] es una mejor opción para mí. ¿Hay alguna otra técnica que pueda haber pasado por alto que sería mejor que cualquiera de estos dos métodos? Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta