Перейти к основному содержимому

Конструктор действий и Поиск по XPath

🔗 Оригинальная страница — Источник данного материала


Описание​

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

Для использования этой функции желательно знать основы HTML

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

Как открыть?​

Существует два способа для вызова конструктора:

Способ 1. Через контекстное меню страницы​

Нажмите ПКМ по нужному элементу на странице и выберите В конструктор действий:

image-20200809-145400

Способ 2. Через дерево элементов​

Откройте окно Древа элементов, далее ПКМ по нужному элементу и В конструктор действий:

image-20200809-164607

На заметку

Когда вы добавляете элемент в Конструктор действий, его доступные свойства и значения автоматически появляются в окне Свойства элемента.


Параметры поиска​

Поддерживаются два способа поиска элементов: классический и поиск по XPath.

Классический поиск​

В этом случае элемент ищется по его HTML-тегу, атрибутам и их значениям.

image-20200809-152818

№ документа​

Укажите -1, чтобы искать элемент во всех документах на странице. Такое значение делает поиск более универсальным.

№ формы​

Укажите -1, чтобы искать элемент во всех формах на странице. Если выбрать номер конкретной формы, шаблон может перестать работать после изменения структуры сайта.

Пример

На странице находятся три формы: поиск, регистрация и заказ товара. Форма заказа имеет номер 2, поскольку нумерация начинается с нуля.

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

Искать во всех формах/документах на странице

Если включить эти опции в Настройках Записи, то для номера формы и документа всегда по умолчанию будет указано значение -1.

Тэг​

HTML-тег элемента, который нужно найти.

Наример:

<div class="visible" id="username"></div>

В этом примере div — название тега.

Имя атрибута​

Атрибут HTML-тега, по которому ZennoPoster будет искать элемент.

В нашем примере:

<div class="visible" id="username"></div>

class и id — имена атрибутов.

Значение​

Значение выбранного атрибута.

В приведённом выше примере:

  • visible — значение атрибута class;
  • username — значение атрибута id.

Тип поиска​

Доступны три типа поиска:

  • text — значение атрибута должно полностью или частично совпадать с указанным текстом;
  • notext — значение атрибута не должно содержать указанный текст;
  • regexp — поиск с помощью регулярного выражения.

По умолчанию регистр букв не учитывается. Например, значения Username и username будут считаться одинаковыми.

Чтобы регулярное выражение учитывало регистр, добавьте в его начало конструкцию: (?-i)

На скриншоте выше после нажатия кнопки Поиск найдено три элемента.

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

Поиск по XPath​

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

image-20200809-153104

Поля № документа и № формы работают так же, как при классическом поиске. Чтобы искать во всех документах и формах, укажите для них значение -1.

XPath​

Поле для ввода XPath-выражения, по которому ZennoPoster будет искать элемент.

Варианты​

Можно выбрать одно из XPath-выражений, которые Конструктор действий создал автоматически.

Если предложенные варианты не подходят

Вы можете составить XPath-выражение самостоятельно и ввести его в поле XPath.


Выбор действия​

После настройки поиска выберите действие, которое ZennoPoster должен выполнить с найденным элементом. Доступны три варианта: Set, Get и Rise.

Set (установить значение)​

Действие Установка значения изменяет значение выбранного атрибута.

image-20200809-170409

  • Атрибут — атрибут элемента, для которого нужно установить новое значение.
  • Значение — данные, которые нужно записать в атрибут. Можно указать обычный текст или использовать переменные проекта, например {-Variable.someVar-} или {-Profile.Name-}.

Get (получить значение)​

Действие для Получения значения выбранного атрибута.

image-20200809-155322

  • Атрибут значение которого нужно получить.
  • Значение найденного атрибута.

Rise (выполнить событие)​

Выполняет действие с найденным элементом. Например, можно нажать на него или вызвать другое доступное действие из списка.

image-20200809-155243

Для действий drag и drop появятся два дополнительных поля, в которых нужно указать координаты.

image-20200809-170449


Завершающие действия​

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

image-20200809-155614

Тестирование​

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

Если найден другой элемент или действие выполняется неправильно

Вернитесь к настройкам и измените параметры поиска.

Комментарий​

Добавьте к экшену короткий и понятный комментарий.

Стандартные автоматические комментарии не всегда позволяют быстро понять, что именно делает действие.

Комментарии по умолчаниюПользовательские комментарии
image-20200809-161201image-20200809-161401

Добавление в проект​

Убедитесь, что:

  • параметры поиска настроены;
  • ZennoPoster находит нужный элемент;
  • выбрано правильное действие;
  • тестирование прошло успешно.

После этого нажмите Добавить в проект. Созданный экшен появится в проекте и будет готов к использованию.


Полезные ссылки​