Ui-Path: как обрабатывать динамические веб-элементы

Я новичок в UIPath инструмент. Пожалуйста, примите мои извинения, если это плохой вопрос.

Мне нужно нажать \sendKeys веб-элемент, который является полностью динамическим элементом. ID будет меняться каждый раз при загрузке страницы.

Login 1: <span id="x58Sn0-cnt" class="z-tab-text" uipath_custom_id="8">Update</span>

Login 2: <span id="nT9Tn0-cnt" class="z-tab-text">Update</span>

Note:
Also we can't relay on class "z-tab-text" because so many other elements are sharing the same class.

заранее спасибо.:)

3 ответа

Вы можете обратиться к родительским элементам, чтобы получить правильный селектор, для этого вам следует использовать свойство css-selector вместо рассмотрения атрибута id html. Например, предположим, что динамический элемент всегда является первым дочерним элементом div, тогда вы можете использовать:

<webctrl css-selector='div span:first-child'/>

Синтаксис для свойства css-selector такой же, как и в селекторах элементов в листах CSS для файлов HTML.

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

Лучше использовать Wildcards и idx, потому что это селекторы, используемые для помощи динамическим атрибутам. Подстановочные знаки - это символы, которые позволяют заменить ноль или несколько символов в строке. Они могут быть весьма полезны при работе с динамически изменяющимися атрибутами в селекторе.

Звездочка (*) - заменяет ноль или более символов Вопросительный знак (?) - заменяет один символ

**** Пример создания селектора с подстановочными знаками в окне редактора селектора ****

Часть имени окна "Блокнот" изменяется в соответствии с файлом.txt, который вы открываете вместе с ним. Здесь действительно может помочь грамотно расположенный шаблон. Для генерации сделайте следующее:

Откройте пустое окно Блокнота. Обратите внимание, что заголовок окна без названия - Блокнот. В Studio создайте новую последовательность. Перетащите упражнение "Тип в" на панель "Дизайнер". Нажмите Указать на экране и укажите редактируемое текстовое поле в Блокноте. Селектор автоматически создается и сохраняется в поле "Селектор".

На панели "Свойства" нажмите текстовую кнопку "Изображение эллипса" рядом с полем "Селектор". Откроется окно редактора селектора.

Откройте любой файл.txt с помощью блокнота. Обратите внимание, что заголовок окна частично отличается от заголовка на шаге 1. В Studio в окне "Редактор селектора" нажмите "Восстановить" и укажите редактируемое текстовое поле в окне "Блокнот", открытом на шаге 6. Появится диалоговое окно, указывающее, что селектор был обновлен. отображается.

Нажмите ОК. Окно редактора селектора и селектор обновляются подстановочным знаком. Для получения дополнительной информации смотрите раздел " Селекторы ссылок и селекторы с UI Explorer".

Я справился с этим сценарием с помощью idx

Я знаю, что это не рекомендуется для неудачных случаев, я пойду с изображением. Теперь это без сбоев.

Скорее всего, вам понадобится комбинация подстановочных операторов (*,?) И, возможно, атрибута aaname (text) в зависимости от вида. может быть что-то вроде этого:

<webctrl id="*-cnt" aaname="Update" />

Подстановочные знаки: если есть части вашего идентификатора, которые всегда будут одинаковыми, то по крайней мере подстановочный знак в селекторе несколько поможет в процессе выбора.

Звездочка (*) - заменяет ноль или более символов

Вопросительный знак (?) - заменяет один символ

Селекторы UIPath с документацией по шаблонам

Я бы порекомендовал пройти базовый тренинг для UIPath, так как он, кажется, немного помогает и бесплатен. Хотя, честно говоря, я считаю, что RPA не идеален для каждого использования веб-приложения, особенно когда используется высокодинамичный HTML и ненадежные селекторы. Приложения Angular & Knockout являются отличными примерами. Много раз Angular использует объекты javascript вместо определенных идентификаторов и атрибутов данных, к которым UIPath не имеет доступа, так что это создает среду, в которой вы должны проявить творческий подход с выбором селекторов, которые будут работать. Это также означает, что эти селекторы сломаются с небольшими изменениями кода.

Другие вопросы по тегам