Я использую PyAutoGUI-библиотеку Python для автоматизации графического интерфейса. Приложение, которое я автоматизирую, открывает новое окно после того, как я закончил запись данных в текущем окне. Все заботится о автоматизации python (ввод данных в текущем окне и щелчок, необходимый для открытия окна).Windows Desktop GUI Automation с использованием Python - Сон против жесткого цикла
Когда щелчок выполняется в текущем окне, новое окно занимает некоторое время, чтобы открыть (может варьироваться от 2 до 5 секунд). Таким образом, есть два варианта, которые я могу думать здесь:
- сон с помощью
time.sleep(5)
(Con: 3 секунды может быть впустую излишне) - Спина в тугой петле до на экране появится окно. PyAutoGUI предлагает функцию
locateOnScreen
, которая может быть использована, чтобы узнать, действительно ли окно появилось на экране. (Тем не менее, это интенсивность процессора, а сама функция имеет интенсивность процессора и занимает почти 2 секунды)
Так что это выглядит [1], это лучший вариант для меня. Есть ли какая-то другая техника, которую я, возможно, пропустил, был бы лучше, чем любой из этих двух методов? Благодарю.
Вариант 1 - это путь – Ruslan
Любой из них ошибается. Вам нужно будет использовать [Автоматизация пользовательского интерфейса] (https://msdn.microsoft.com/en-us/library/windows/desktop/ee684009.aspx) и [WinEvents] (https://msdn.microsoft.com /en-us/library/windows/desktop/dd373868.aspx), чтобы получать уведомления о создании или уничтожении окон. – IInspectable