Проверка цвета экрана перед щелчком макроса Windows
Asoftech |
Записанный щелчок выполняется по инструкции, даже если экран ещё не готов. Если в настольной программе есть стабильный индикатор состояния, проверка его цвета поможет выбрать следующее действие. Asoftech Automation сравнивает пиксель с эталонным цветом и поддерживает разные действия при совпадении и несовпадении. В этом руководстве описано, как испытать условие перед использованием в рабочем процессе.
Выберите подходящий индикатор
Представьте тестовую программу с однотонным индикатором, который становится зелёным, когда пробная задача готова. Перед следующим щелчком проверьте точку внутри индикатора. Это пример организации процесса, а не встроенная интеграция с программой. Выбирайте большую область однородного цвета, избегая краёв текста, анимации и меняющихся изображений. Совпадение пикселя — лишь визуальный признак: оно не доказывает, что файл сохранён или операция завершилась правильно.
Настройте проверку в Advanced Input
Подготовьте пробные данные и запишите короткую последовательность. Откройте макрос для редактирования и разверните Advanced Input. Поместите проверку цвета перед щелчком, который зависит от индикатора. Программа должна быть видна, а нужный участок экрана — ничем не перекрыт.
Выберите проверку пикселя под указателем или в заданной позиции. Для неподвижного индикатора укажите точку внутри однотонной области. Во время испытаний сохраняйте расположение окон, чтобы точка оставалась на индикаторе.
Задайте эталонный цвет. Описанная в документации палитра позволяет взять образец с экрана, а настройка позиции — заполнить координаты образца. Equal означает точное совпадение RGB, Not Equal — различие, а приблизительное сравнение — близкие цвета. Оно может принять и нежелательный цвет, поэтому проверьте оба состояния. В примере с зелёным индикатором выберите Equal и полученный образец зелёного цвета.
Вставьте условие: редактор добавит строки If, Else и EndIf. Поместите пробный щелчок между If и Else, чтобы он выполнялся только при совпадении цвета; ветвь Else в этом примере оставьте пустой. Проверьте, что после EndIf нет дубликата зависимого щелчка, который выполнялся бы при любом результате. Подробности об этих элементах есть в руководстве Asoftech Automation.
Испытайте оба исхода перед повторением
Запустите макрос один раз при нужном состоянии индикатора и убедитесь, что выполняется только ожидаемое действие. Затем повторите пробный процесс при несовпадении и проверьте, что зависимого щелчка нет. Уберите указатель и испытайте снова, чтобы исключить изменение цвета при наведении. Если загрузка занимает время, добавьте подходящее действие Wait перед проверкой. Одно сравнение не является автоматическим ожиданием готовности: повторные проверки требуют явно настроенной и испытанной последовательности.
Если проверка даёт неверный результат
Сверьте точку образца, эталонный цвет и режим сравнения. Перемещение окна, изменение масштаба или темы, подсказка либо диалог могут поместить другой пиксель в ту же позицию. Возьмите образец заново в рабочем расположении окон. Для стабильного индикатора предпочтительно точное сравнение; приблизительное используйте лишь после проверки различимости состояний. Если надёжного визуального признака нет, оставьте решение под наблюдением человека, а не считайте посторонний цвет подтверждением.
Разделяйте условие и фактический результат
После каждого испытания проверяйте результат в целевой программе. Зелёный пиксель не подтверждает содержимое документа и не выявляет все ошибки приложения. Сохраняйте макрос коротким, пока обе ветви не заработают правильно, затем сделайте резервную копию перед добавлением повторов или расписания. Изучите запись и редактирование в Asoftech Automation, чтобы построить процесс вокруг проверяемого условия.