Recorder в Power Automate Desktop: возможности и честные ограничения

Recorder в Power Automate Desktop записывает клики как действия потока. Что он умеет, как работают UIA и MSAA и где он достигает своих пределов.

Мало какая функция настолько снижает порог входа в Power Automate Desktop, как Recorder. Вместо того чтобы перетаскивать действия по одному из списка действий и вручную заполнять параметры, ты просто кликаешь по процессу, который хочешь автоматизировать, а Recorder переводит каждое движение мыши и клавиатуры в готовое действие потока. Для повторяющихся последовательностей кликов в знакомых программах это часто самый быстрый способ получить первый рабочий черновик.

Но столь же важна и честная вторая половина истории: Recorder — это не инструмент, который надёжно понимает любой интерфейс, и он не заменяет последующую доработку. Эта статья показывает, как Recorder работает технически, что он охватывает помимо простых кликов и где, согласно собственной документации Microsoft, он наталкивается на чёткие ограничения, особенно при сложных или необычно построенных пользовательских интерфейсах.

Что записывает Recorder и как он это делает

Recorder находится прямо на панели инструментов дизайнера потоков. Клик на Recorder открывает окно записи, ещё один клик на Запись запускает захват. С этого момента Recorder отслеживает твою активность мыши и клавиатуры относительно соответствующих элементов интерфейса и преобразует каждое действие в отдельный шаг. Во время записи текстовый маркер кратко показывает сообщение «Ожидание действия», пока клик действительно не будет захвачен и вставлен — небольшой, но практичный сигнал о том, что не стоит кликать слишком быстро дальше.

Щелчок правой кнопкой мыши по элементу также открывает контекстное меню с доступными для этого элемента действиями, например установку значения раскрывающегося списка или извлечение текста. Как только ты завершаешь запись кнопкой Готово, Power Automate автоматически преобразует записанные шаги в действия потока рабочего стола и сохраняет все использованные элементы в области элементов интерфейса, чтобы ты мог использовать их повторно позже. Подробности можно найти в документации Microsoft о записи потоков рабочего стола.

UIA и MSAA: два режима захвата для разных программ

Не каждое приложение Windows предоставляет одинаковое качество информации о доступности, поэтому Recorder предлагает два режима захвата. UI Automation (UIA) — это современный фреймворк, рекомендованный Microsoft, который особенно надёжно работает с приложениями, созданными на WPF, WinForms или UWP; он предоставляет более подробную информацию об элементах и более стабильную иерархию. Microsoft Active Accessibility (MSAA) — более старый и вступает в дело там, где приложения не предоставляют элементы UIA, например классические программы Win32 или VB6. Подходящий режим выбирается через меню «Режим записи» в Recorder, в зависимости от того, какое приложение ты автоматизируешь.

Больше, чем просто клики: что ещё охватывает Recorder

Recorder не ограничивается простыми кликами мыши, а целенаправленно охватывает целый ряд повторяющихся UI-шаблонов:

  • Раскрывающиеся списки: Как только ты выбираешь раскрывающийся список, Recorder открывает собственный экран, на котором ты задаёшь нужное значение, а при множественном выборе — несколько значений. Во время выполнения Power Automate автоматически выбирает это значение.
  • Выбор даты и цвета: Для HTML-полей ввода типа date, datetime-local, month, time или week, а также для выбора цвета Recorder открывает текстовое поле, в которое ты вводишь нужное значение в подходящем формате.
  • Редакторы метода ввода (IME): Для языков, которые нельзя ввести напрямую с клавиатуры QWERTY, можно щёлкнуть правой кнопкой мыши на «Заполнить текстовое поле», чтобы вводить текст через IME.
  • Запуск браузера тремя способами: Ты можешь запустить новый браузер целенаправленно через меню в Recorder (Edge, Chrome, Firefox, Internet Explorer), начать запись в уже открытом браузере или открыть браузер вручную через ярлык, что Recorder затем записывает как собственное действие автоматизации интерфейса.

Запись на основе изображений: Recorder для сложных приложений

Некоторые приложения вообще не раскрывают свой API доступности или создают другие технические препятствия, из-за чего обычный Recorder вообще не может захватывать никаких действий. Именно для такого случая Power Automate предлагает запись на основе изображений: вместо распознавания элементов интерфейса через селекторы этот режим работает с распознаванием изображений и оптическим распознаванием символов (OCR). Клик по элементу автоматически создаёт фрагмент изображения с редактируемым именем, а через «Извлечь текст из изображения» можно дополнительно выбрать область текста, а также стабильную опорную область поблизости, из которой текст считывается с помощью движка OCR Tesseract.

Честные ограничения: где Recorder достигает своих пределов

Именно здесь стоит обратить внимание на известные проблемы, задокументированные самой Microsoft, ведь они показывают, что Recorder осознанно идёт на компромиссы и не является чудо-решением.

Задокументированные ограничения Recorder

  • Шаги из меню «Пуск» Windows или с панели задач могут записываться не полностью, и Microsoft прямо не предлагает для этого никакого обходного решения.
  • В потоках, записанных с помощью изображений, клик во время выполнения может попасть не в то место; в качестве исправления Microsoft рекомендует снизить значение допуска автоматически создаваемого действия «Переместить мышь к изображению» в расширенных настройках.
  • Всплывающее окно «Извлечь текст из изображения» может скрыться за всплывающим окном самого приложения; щелчок правой кнопкой мыши в другом месте экрана помогает решить эту проблему.
  • Нажатия клавиш, отправляемые через запись на основе изображений в развёрнутое окно RDP, иногда вообще не доходят до цели, поэтому Microsoft рекомендует уменьшить окно RDP так, чтобы оно не занимало весь экран.
  • Перетаскивание поддерживается лишь частично: такие действия, как перемещение окна или изменение его размера, Recorder записывает надёжно, а вот действие «Элемент интерфейса перетаскивания окна» — в настоящее время нет.

Когда Recorder или средство выбора элементов вообще ничего не видят

Ситуация становится ещё более принципиальной, когда Recorder или средство выбора элементов вообще не могут захватить приложение. Согласно руководству Microsoft по устранению неполадок автоматизации интерфейса, для этого есть две типичные причины. Во-первых, мешающие фоновые процессы, такие как Microsoft Accessory Center или DesktopBridge, могут полностью блокировать автоматизацию интерфейса; здесь помогает завершить эти процессы и отключить их навсегда. Во-вторых, что значительно труднее обойти, некоторые настольные приложения используют собственные UI-фреймворки или методы рендеринга, несовместимые со стандартными API доступности, на которых строится Power Automate. Для Recorder такие элементы тогда остаются просто невидимыми.

Microsoft называет четыре обходных решения для этого случая: переместить мышь к изображению, переместить мышь к тексту на экране через OCR, заставить Recorder работать с жёстко заданными координатами, либо напрямую комбинировать действия мыши и клика через фиксированные координаты. Здесь важно явное предупреждение в документации: чтобы решения на основе координат работали надёжно, разрешение экрана, настройки DPI и масштабирование во время выполнения должны точно соответствовать конфигурации, использованной при разработке, и даже небольшие изменения в интерфейсе приложения могут сделать шаг автоматизации непригодным для использования. Поэтому Microsoft прямо рекомендует тщательно тестировать такие потоки на каждой целевой машине перед выводом в промышленную эксплуатацию.

Изображение как спасательный круг — со своими ограничениями

Для отдельных элементов интерфейса дополнительно можно сохранить изображение как резервный механизм, который автоматически включается, когда обычный селектор больше не может найти элемент во время выполнения. У этого страховочного механизма тоже есть чёткие ограничения: он не поддерживается при извлечении данных и извлечении веб-данных, а также при таких действиях, как «Если окно содержит» или «Ожидание содержимого веб-страницы», если там настроено условие «Содержит текст» или «Не содержит текст». А тот, кто открывает и сохраняет поток с резервным изображением в версии Power Automate Desktop вплоть до v2.44 включительно, безвозвратно теряет селектор изображения; по данным Microsoft, восстановление в этом случае уже невозможно.

Recorder как каркас, а не как готовый результат

Microsoft формулирует это в собственной документации приятно трезво: Recorder должен обеспечивать базовый каркас потока, а большинство записанных процессов впоследствии следует дорабатывать, чтобы они действительно работали стабильно. Определённые типы действий, такие как условия и циклы, в принципе вообще нельзя записать, и их нужно добавлять вручную впоследствии. Именно в этой точке поток, который однажды сработал в тестировании, отличается от того, который надёжно работает ещё и спустя месяцы.

Используешь ли ты Recorder сам для первых черновиков или заказываешь целую цифровую сотрудницу на основе Power Automate — в конечном итоге контроль над тем, какие клики действительно остаются автоматизированными, какие селекторы достаточно надёжны для промышленной эксплуатации и где резервное изображение или решение OCR представляют скорее риск, чем страховку, остаётся за тобой.

Часто задаваемые вопросы

Может ли Recorder записывать любое приложение?

Нет. По умолчанию Recorder работает только с приложениями, которые предоставляют свои элементы через UIA или MSAA. Если приложение вообще не раскрывает свой API доступности, в качестве запасного варианта включается запись на основе изображений, но даже она иногда полностью терпит неудачу с приложениями с индивидуально отрисованными или сильно кастомизированными интерфейсами.

В чём разница между UIA и MSAA?

UIA — более современный фреймворк, рекомендованный Microsoft, с более подробной информацией об элементах, подходящий для большинства современных приложений Windows. MSAA старше и требуется прежде всего для устаревшего программного обеспечения, которое не предоставляет элементы UIA, например классических программ VB6 или Win32. Подходящий режим зависит исключительно от целевого приложения, а не от личных предпочтений.

Почему Recorder внезапно перестаёт видеть элементы?

Обычно причина одна из двух: мешающие фоновые процессы, такие как Microsoft Accessory Center или DesktopBridge, которые можно завершить, либо UI-фреймворк целевого приложения, несовместимый со стандартными API доступности. Во втором случае часто остаётся только решение на основе координат или изображений в качестве обходного пути.

Всегда ли нужно дорабатывать записанный поток?

На практике почти всегда, и сама Microsoft это подтверждает. Recorder предоставляет рабочий базовый каркас, но условия, циклы и более надёжную обработку ошибок нельзя записать — их нужно добавлять вручную впоследствии в дизайнере потоков.

Насколько надёжна запись на основе изображений в промышленной эксплуатации?

Настолько надёжна, насколько надёжна экранная среда, в которой она выполняется. Разрешение, настройки DPI и масштабирование во время выполнения должны точно соответствовать среде разработки, иначе клик промахнётся мимо цели. Тот, кто использует шаги на основе изображений в промышленной эксплуатации, должен целенаправленно комбинировать их с резервным изображением для отдельных элементов и тестировать на каждой целевой машине перед развёртыванием.

О NordFlux

NordFlux UG (haftungsbeschränkt)

NordFlux создаёт цифровых сотрудников для организаций: автоматизации и КИ-агентов, которые берут на себя повторяющуюся работу. Вы сохраняете контроль.

Больше о нас
Бесплатный первичный анализ

Конкретные вопросы по автоматизации или КИ?

В рамках бесплатного первичного анализа мы напрямую обсудим Ваш случай. Без обязательств.