Automação da GUI da área de trabalho do Windows usando Python - suspensão versus loop apertado

Estou usando a biblioteca PyAutoGUI do Python para automatizar a GUI. O aplicativo que estou automatizando abre uma nova janela depois de concluir a entrada de dados na minha janela atual. Tudo é resolvido pela automação python (entrada de dados na minha janela atual e o clique necessário para abrir a janela).

Quando o clique é realizado na janela atual, a nova janela leva algum tempo para abrir (que pode variar de 2 a 5 segundos). Portanto, existem duas opções que posso pensar aqui:

Dormir usandotime.sleep(5) (Con: 3 segundos podem ser desperdiçados desnecessariamente)Gire em um loop apertado até que a janela apareça na tela. PyAutoGUI oferece umalocateOnScreen função que pode ser usada para descobrir se a janela realmente apareceu na tela. (No entanto, isso exige muita CPU e a função em si exige muita CPU e leva quase 2 segundos para retornar)

Então parece que [1] é uma opção melhor para mim. Existe alguma outra técnica que eu possa ter perdido que seria melhor do que qualquer um desses dois métodos? Obrigado.

questionAnswers(2)

yourAnswerToTheQuestion