Веб-автоматизация: подключение порталов без API
Power Automate Desktop подключает порталы без API через браузер: действия, средство записи и ограничения веб-автоматизации.
Recorder в Power Automate Desktop записывает клики как действия потока. Что он умеет, как работают UIA и MSAA и где он достигает своих пределов.
Мало какая функция настолько снижает порог входа в Power Automate Desktop, как Recorder. Вместо того чтобы перетаскивать действия по одному из списка действий и вручную заполнять параметры, ты просто кликаешь по процессу, который хочешь автоматизировать, а Recorder переводит каждое движение мыши и клавиатуры в готовое действие потока. Для повторяющихся последовательностей кликов в знакомых программах это часто самый быстрый способ получить первый рабочий черновик.
Но столь же важна и честная вторая половина истории: Recorder — это не инструмент, который надёжно понимает любой интерфейс, и он не заменяет последующую доработку. Эта статья показывает, как Recorder работает технически, что он охватывает помимо простых кликов и где, согласно собственной документации Microsoft, он наталкивается на чёткие ограничения, особенно при сложных или необычно построенных пользовательских интерфейсах.
Recorder находится прямо на панели инструментов дизайнера потоков. Клик на Recorder открывает окно записи, ещё один клик на Запись запускает захват. С этого момента Recorder отслеживает твою активность мыши и клавиатуры относительно соответствующих элементов интерфейса и преобразует каждое действие в отдельный шаг. Во время записи текстовый маркер кратко показывает сообщение «Ожидание действия», пока клик действительно не будет захвачен и вставлен — небольшой, но практичный сигнал о том, что не стоит кликать слишком быстро дальше.
Щелчок правой кнопкой мыши по элементу также открывает контекстное меню с доступными для этого элемента действиями, например установку значения раскрывающегося списка или извлечение текста. Как только ты завершаешь запись кнопкой Готово, Power Automate автоматически преобразует записанные шаги в действия потока рабочего стола и сохраняет все использованные элементы в области элементов интерфейса, чтобы ты мог использовать их повторно позже. Подробности можно найти в документации Microsoft о записи потоков рабочего стола.
Не каждое приложение Windows предоставляет одинаковое качество информации о доступности, поэтому Recorder предлагает два режима захвата. UI Automation (UIA) — это современный фреймворк, рекомендованный Microsoft, который особенно надёжно работает с приложениями, созданными на WPF, WinForms или UWP; он предоставляет более подробную информацию об элементах и более стабильную иерархию. Microsoft Active Accessibility (MSAA) — более старый и вступает в дело там, где приложения не предоставляют элементы UIA, например классические программы Win32 или VB6. Подходящий режим выбирается через меню «Режим записи» в Recorder, в зависимости от того, какое приложение ты автоматизируешь.
Recorder не ограничивается простыми кликами мыши, а целенаправленно охватывает целый ряд повторяющихся UI-шаблонов:
Некоторые приложения вообще не раскрывают свой API доступности или создают другие технические препятствия, из-за чего обычный Recorder вообще не может захватывать никаких действий. Именно для такого случая Power Automate предлагает запись на основе изображений: вместо распознавания элементов интерфейса через селекторы этот режим работает с распознаванием изображений и оптическим распознаванием символов (OCR). Клик по элементу автоматически создаёт фрагмент изображения с редактируемым именем, а через «Извлечь текст из изображения» можно дополнительно выбрать область текста, а также стабильную опорную область поблизости, из которой текст считывается с помощью движка OCR Tesseract.
Именно здесь стоит обратить внимание на известные проблемы, задокументированные самой Microsoft, ведь они показывают, что Recorder осознанно идёт на компромиссы и не является чудо-решением.
Ситуация становится ещё более принципиальной, когда Recorder или средство выбора элементов вообще не могут захватить приложение. Согласно руководству Microsoft по устранению неполадок автоматизации интерфейса, для этого есть две типичные причины. Во-первых, мешающие фоновые процессы, такие как Microsoft Accessory Center или DesktopBridge, могут полностью блокировать автоматизацию интерфейса; здесь помогает завершить эти процессы и отключить их навсегда. Во-вторых, что значительно труднее обойти, некоторые настольные приложения используют собственные UI-фреймворки или методы рендеринга, несовместимые со стандартными API доступности, на которых строится Power Automate. Для Recorder такие элементы тогда остаются просто невидимыми.
Microsoft называет четыре обходных решения для этого случая: переместить мышь к изображению, переместить мышь к тексту на экране через OCR, заставить Recorder работать с жёстко заданными координатами, либо напрямую комбинировать действия мыши и клика через фиксированные координаты. Здесь важно явное предупреждение в документации: чтобы решения на основе координат работали надёжно, разрешение экрана, настройки DPI и масштабирование во время выполнения должны точно соответствовать конфигурации, использованной при разработке, и даже небольшие изменения в интерфейсе приложения могут сделать шаг автоматизации непригодным для использования. Поэтому Microsoft прямо рекомендует тщательно тестировать такие потоки на каждой целевой машине перед выводом в промышленную эксплуатацию.
Для отдельных элементов интерфейса дополнительно можно сохранить изображение как резервный механизм, который автоматически включается, когда обычный селектор больше не может найти элемент во время выполнения. У этого страховочного механизма тоже есть чёткие ограничения: он не поддерживается при извлечении данных и извлечении веб-данных, а также при таких действиях, как «Если окно содержит» или «Ожидание содержимого веб-страницы», если там настроено условие «Содержит текст» или «Не содержит текст». А тот, кто открывает и сохраняет поток с резервным изображением в версии Power Automate Desktop вплоть до v2.44 включительно, безвозвратно теряет селектор изображения; по данным Microsoft, восстановление в этом случае уже невозможно.
Microsoft формулирует это в собственной документации приятно трезво: Recorder должен обеспечивать базовый каркас потока, а большинство записанных процессов впоследствии следует дорабатывать, чтобы они действительно работали стабильно. Определённые типы действий, такие как условия и циклы, в принципе вообще нельзя записать, и их нужно добавлять вручную впоследствии. Именно в этой точке поток, который однажды сработал в тестировании, отличается от того, который надёжно работает ещё и спустя месяцы.
Используешь ли ты Recorder сам для первых черновиков или заказываешь целую цифровую сотрудницу на основе Power Automate — в конечном итоге контроль над тем, какие клики действительно остаются автоматизированными, какие селекторы достаточно надёжны для промышленной эксплуатации и где резервное изображение или решение OCR представляют скорее риск, чем страховку, остаётся за тобой.
Нет. По умолчанию Recorder работает только с приложениями, которые предоставляют свои элементы через UIA или MSAA. Если приложение вообще не раскрывает свой API доступности, в качестве запасного варианта включается запись на основе изображений, но даже она иногда полностью терпит неудачу с приложениями с индивидуально отрисованными или сильно кастомизированными интерфейсами.
UIA — более современный фреймворк, рекомендованный Microsoft, с более подробной информацией об элементах, подходящий для большинства современных приложений Windows. MSAA старше и требуется прежде всего для устаревшего программного обеспечения, которое не предоставляет элементы UIA, например классических программ VB6 или Win32. Подходящий режим зависит исключительно от целевого приложения, а не от личных предпочтений.
Обычно причина одна из двух: мешающие фоновые процессы, такие как Microsoft Accessory Center или DesktopBridge, которые можно завершить, либо UI-фреймворк целевого приложения, несовместимый со стандартными API доступности. Во втором случае часто остаётся только решение на основе координат или изображений в качестве обходного пути.
На практике почти всегда, и сама Microsoft это подтверждает. Recorder предоставляет рабочий базовый каркас, но условия, циклы и более надёжную обработку ошибок нельзя записать — их нужно добавлять вручную впоследствии в дизайнере потоков.
Настолько надёжна, насколько надёжна экранная среда, в которой она выполняется. Разрешение, настройки DPI и масштабирование во время выполнения должны точно соответствовать среде разработки, иначе клик промахнётся мимо цели. Тот, кто использует шаги на основе изображений в промышленной эксплуатации, должен целенаправленно комбинировать их с резервным изображением для отдельных элементов и тестировать на каждой целевой машине перед развёртыванием.
NordFlux создаёт цифровых сотрудников для организаций: автоматизации и КИ-агентов, которые берут на себя повторяющуюся работу. Вы сохраняете контроль.
Power Automate Desktop подключает порталы без API через браузер: действия, средство записи и ограничения веб-автоматизации.
Cloud Flow или Desktop Flow? Как принять решение в Power Automate, когда речь идет о старой ERP без API.
n8n не всегда является правильным выбором. Эти сценарии честно показывают, когда против него говорят облачные лимиты, управление или эксплуатация.
Recorder в Power Automate Desktop надёжно фиксирует клики, но регулярно даёт сбой на сложных или основанных на изображении интерфейсах. Мы берём записанные шаги за основу и строим из них надёжный, готовый к продакшену flow со стабильными селекторами. Так запись превращается в автоматизацию, которая выдерживает повседневную работу.