Веб-автоматизация: подключение порталов без API

Power Automate Desktop подключает порталы без API через браузер: действия, средство записи и ограничения веб-автоматизации.

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

В этой статье показано, как технически работает веб-автоматизация в Power Automate Desktop (PAD), какие действия доступны для форм, кликов и извлечения данных, как в этом помогает средство записи и где проходят границы этого подхода. При этом вы сохраняете контроль над тем, какой браузер использует поток и насколько устойчива автоматизация к изменениям на портале.

Почему веб-автоматизация закрывает пробел без API

Согласно официальной документации, автоматизация браузера — это частный случай автоматизации пользовательского интерфейса, разработанный специально для взаимодействия с веб-элементами, как указано в статье Автоматизация веб-страниц. Вместо работы с интерфейсом REST или SOAP PAD напрямую считывает HTML-структуру страницы и эмулирует клики, ввод данных и выбор из списков через Document Object Model. Для вас это означает: любой портал, с которым можно работать в браузере, в принципе можно автоматизировать, независимо от того, предусматривал ли поставщик когда-либо API для этого. Поддерживаются четыре стандартных браузера — Microsoft Edge, Internet Explorer, Google Chrome и Mozilla Firefox, а также встроенный браузер автоматизации, который готов к работе сразу, без дополнительной установки.

Запуск браузера: расширение или WebDriver

Прежде чем сможет выполняться веб-автоматизация, вам нужен экземпляр браузера. Для этого доступны действия «Запустить новый Microsoft Edge», «Запустить новый Chrome» и «Запустить новый Firefox», каждое с возможностью открыть новый экземпляр или подключиться к уже запущенному. Для Edge, Chrome и Firefox предварительно нужно установить соответствующее расширение и включить его в браузере, иначе автоматизация завершится ошибкой. Необходимые ссылки и шаги можно найти в статье Установка расширений браузера Power Automate.

С некоторых пор в качестве альтернативы расширению браузера доступен также WebDriver в качестве метода взаимодействия, который можно выбрать в поле «Метод взаимодействия с браузером» в действии запуска. Для этого исполняемые файлы WebDriver нужно поместить в `%LocalAppData%\Microsoft\Power Automate Desktop\WebDrivers`, в соответствии с установленной версией браузера. Важно знать: WebDriver может подключаться только к экземплярам браузера, которые сам запустил поток, а не к вручную открытым окнам, и не работает, если политика организации принудительно требует входа в браузере. Для Internet Explorer WebDriver вообще недоступен. Поэтому в большинстве проектов классическое расширение браузера остаётся более надёжным выбором по умолчанию.

Заполнение форм и нажатие кнопок

Для непосредственного взаимодействия со страницей PAD предоставляет целую группу действий. Наиболее важные на практике:

  • Заполнить текстовое поле на веб-странице вводит значения в поля ввода.
  • Задать значение раскрывающегося списка на веб-странице выбирает запись из списка выбора.
  • Нажать кнопку на веб-странице и Щёлкнуть по ссылке на веб-странице выполняют клики, включая параметры того, нужно ли ждать загрузки новой страницы после клика и как обрабатывать возможное всплывающее диалоговое окно.

По умолчанию эти действия не перемещают указатель мыши видимым образом по экрану, а запускают взаимодействие через событие JavaScript. У этого есть практическое преимущество: поток надёжно выполняется даже тогда, когда браузер свёрнут или целевая вкладка сейчас не активна на переднем плане, поэтому вы можете тем временем продолжать работать за компьютером. Если портал не реагирует на эти эмулированные события так, как ожидается, для отдельных действий, например «Щёлкнуть по ссылке на веб-странице» или «Заполнить текстовое поле на веб-странице», можно дополнительно включить физическое взаимодействие. В этом случае PAD действительно перемещает указатель мыши, но для этого браузер должен быть на переднем плане, а целевая вкладка — в фокусе.

Извлечение данных с веб-страниц

Помимо заполнения форм, вторым важным сценарием использования является считывание данных. Для отдельных значений или свойств элементов используется действие «Получить сведения об элементе на веб-странице», а для больших объёмов структурированных данных — действие «Извлечь данные с веб-страницы». Это действие поддерживает пять режимов извлечения: одно значение, вручную выбранные значения, список, таблица и вся HTML-таблица целиком, и полностью управляется через интерактивный веб-помощник: вы отмечаете нужные элементы кликом, а PAD автоматически определяет, идёт ли речь о списке или таблице, как только выбрано не менее двух сопоставимых элементов. Для особых случаев CSS-селекторы можно также писать или изменять вручную, включая необязательное регулярное выражение для точного выбора. Если данные распределены по нескольким страницам с одинаковой структурой, дополнительно определяется элемент постраничной навигации, чтобы извлечение автоматически переходило к следующей странице, пока не будут обработаны все страницы или заданное их количество.

Запись веб-потоков без кода с помощью средства записи

Тот, кто не хочет собирать каждое действие по отдельности, может вместо этого запустить средство записи с помощью кнопки на панели инструментов конструктора потоков. После нажатия «Запись» PAD отслеживает активность мыши и клавиатуры и автоматически создаёт на её основе как действия автоматизации пользовательского интерфейса, так и действия автоматизации браузера, как описано в статье Запись настольных потоков. Запустить браузер можно тремя способами: через меню с тремя точками в окне средства записи и опцию «Запустить новый веб-браузер», путём записи в уже открытом браузере или путём ручного открытия через ярлык на рабочем столе. Для раскрывающихся списков, выбора даты и цвета средство записи показывает собственные вспомогательные диалоговые окна, в которых вы вводите нужные значения напрямую, вместо того чтобы выбирать их вживую на портале. Важно на практике: средство записи даёт базовый каркас, а не готовый конечный продукт. Условия и циклы оно, как правило, не записывает; сгенерированные шаги затем следует проверить в конструкторе потоков, привести в порядок и дополнить обработкой ошибок.

Ограничения и типичные подводные камни

Веб-автоматизация мощна, но не безгранична. Несколько моментов, с которыми вы столкнётесь на практике:

  • Собственные диалоговые окна операционной системы, такие как «Сохранить как», «Открыть» или загрузка файла, не относятся к HTML-странице и не могут управляться действиями веб-автоматизации; для этого дополнительно нужны действия автоматизации пользовательского интерфейса для самого диалогового окна Windows.
  • Если поток выполняется параллельно с несколькими экземплярами браузера через WebDriver, это может привести к ненадёжному поведению, поскольку физическое взаимодействие с браузером требует окна в фокусе.
  • Если оператор портала изменяет структуру страницы, соответствующее определение элемента интерфейса в потоке нужно скорректировать; поэтому веб-автоматизация требует больше обслуживания, чем настоящее подключение через API, и её следует регулярно проверять.
  • Встроенный браузер автоматизации работает без дополнительной настройки, но не поддерживает ни вкладки, ни открытие ссылок в новых окнах.

Где именно веб-автоматизация окупается для вашего портала, а где более стабильная альтернатива, например скрытый API или экспорт данных, разумнее, лучше всего оценивается на основе конкретного случая, например, в рамках консультации по Power Automate.

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

Нужно ли для каждого портала отдельное расширение браузера?

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

Что произойдёт, если изменится макет портала?

Соответствующее определение элемента интерфейса в потоке перестанет находить ожидаемый элемент, и действие завершится с ошибкой вида «Элемент с указанным CSS-селектором не найден». В этом случае достаточно заново захватить элемент в интерактивном веб-помощнике и заменить старое определение.

Лучше ли WebDriver, чем классическое расширение браузера?

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

Можно ли с помощью веб-автоматизации также скачивать файлы с портала?

Да, с помощью действия «Щелчок по ссылке загрузки на веб-странице» или путём клика по ссылке загрузки, после чего PAD обрабатывает место сохранения через последующие действия с файловой системой. Если при этом появляется собственное диалоговое окно Windows «Сохранить как», для него дополнительно нужны действия автоматизации пользовательского интерфейса, поскольку это диалоговое окно не является частью веб-страницы.

Стоит ли использовать веб-автоматизацию, если позже появится API?

Да, это даже обычный путь. Веб-автоматизация закрывает время без интерфейса, часто на протяжении многих лет. Как только API становится доступен, соответствующий участок потока можно заменить, не затрагивая остальную логику процесса.

О NordFlux

NordFlux UG (haftungsbeschränkt)

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

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

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

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

Веб-автоматизация без API в Power Automate