Поделиться через


Создание пользовательского средства выбора

Несмотря на то что Power Automate позволяет пользователям создавать селекторы автоматически, для некоторых конкретных сценариев требуются селекторы, созданные вручную. Распространенный сценарий — автоматизация приложений, отображающих динамическое содержимое.

Когда требуется настраиваемый селектор, вы можете изменить существующий селектор или создать его с нуля.

Чтобы отредактировать существующий селектор, выберите соответствующий элемент пользовательского интерфейса и выберите селектор, который вы хотите отредактировать.

Снимок экрана диалогового окна

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

Снимок экрана с кнопками для захвата нового селектора и создания копии имеющегося селектора.

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

element[Attribute1=”Attribute1Name”][Attribute2=”Attribute2Name”]...[Attributen=”AttributenName”]

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

Заметка

Веб-селекторы и селекторы рабочего стола имеют одинаковую структуру и функциональность. Основное различие между ними — доступные атрибуты. Веб-селекторы используют атрибуты HTML, тогда как селекторы для компьютеров используют различные типы атрибутов в зависимости от дизайна приложения.

Чтобы точно указать компонент приложения, Power Automate использует несколько уровней селекторов.

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

Эта функциональность позволяет Power Automate отличить компонент от компонентов с похожими атрибутами в том же приложении. Отключение или включение уровней селекторов позволяет вам изменить расположение, в котором Power Automate будет искать компонент.

Например, следующий селектор точно определяет пункт меню Файл в окне Блокнота. Первые два уровня селектора описывают область и строку меню окна, а третий уровень описывает вариант Файл.

Заметка

Окно Блокнота и область — это разные элементы пользовательского интерфейса, но они связаны между собой отношением «родительский-дочерний».

Снимок экрана с селектором, который указывает пункт меню

Предположим, вы хотите отредактировать селектор для работы с окном Блокнота с именем Notes.txt. Чтобы реализовать эту функцию, измените Имя атрибут селектора для Notes.txt — Блокнот. Новый селектор должен быть: :desktop > window[Name="Notes.txt - Блокнот"][Process="Notepad"].

Снимок экрана обновленного селектора Блокнота.

Используйте операторы в настраиваемом селекторе

В предыдущем примере селектор обнаружил окно Блокнота с определенным заголовком. Чтобы сделать селектор более динамичным, замените оператор Равно другими операторами или регулярными выражениями.

Снимок экрана всех доступных операторов селектора.

Оператор Равно заставляет селектор искать конкретное жестко закодированное значение. Хотя эта функция эффективна в статических приложениях, жестко заданные значения могут быть препятствием в динамических приложениях.

Использовать оператор Содержит для поиска элементов, которые не имеют фиксированных значений, но всегда содержат определенное ключевое слово. Например, примените оператор Содержит в селекторе Блокнота, чтобы он работал со всеми окнами Блокнота.

Снимок экрана оператора «Содержит» в селекторе Блокнота.

Помимо операторов Равно и Содержит, Power Automate предоставляет еще четыре оператора:

  • Не равно: проверяет, содержит ли атрибут какое-либо значение, кроме определенного.
  • Начинается с: проверяет, содержит ли атрибут значение, начинающееся с определенного символа, ключевого слова или фразы.
  • Оканчивается на: проверяет, содержит ли атрибут значение, оканчивающееся на определенный символ, ключевое слово или фразу
  • Совпадение по регулярному выражению: проверяет, содержит ли атрибут значение, соответствующее пользовательскому регулярному выражению. Механизм регулярных выражений Power Automate — .NET. Вы можете найти больше информации о регулярных выражениях в разделе Язык регулярных выражений — Краткое руководство.

Используйте переменные в настраиваемом селекторе

Помимо различных операторов Power Automate позволяет создавать динамические селекторы с использованием переменных. Если значение атрибута селектора зависит от вычислений и результатов предыдущих действий, замените жестко заданное значение переменной.

Чтобы использовать переменную в селекторе, введите ее имя вручную, заключенное в знаки процента (%), или используйте кнопку переменных. Переменные можно использовать как в визуальном, так и в текстовом редакторе. Дополнительные сведения о процентном выражении можно найти в Используйте переменные и обозначение %.

Если вы используете переменную в атрибут Имя примера Блокнота, селектор должен быть :desktop > window[Name="%WindowName%"][Process="Notepad"].

Снимок экрана переменной в селекторе Блокнота.