Группа «Браузеры»

Создание Web-элементов

Для работы с элементами страницы браузера необходимо воспользоваться инструментом WebSpy.

Например, необходимо кликнуть по элементу (действие «Отправить клик»). В поле «Элемент» необходимо указатть элемент для взаимодействия.

Чтобы получить данный элемент нужно выполнить следующие шаги:

  • Нажать на кнопку в поле «Элемент».

  • В открывшемся окне нажать на кнопку «Spy».

  • Указать URL страницы браузера на котором находится элемент, открыть новый браузер или подключиться уже к открытому (1-е поле) и нажать кнопку «Начать».

  • Будет открыта указанная страница браузера.

  • На данной странице найти требуемый элемент и нажать на него левой кнопкой мыши с зажатой клавишей Shift. Поля в окне «Добавление нового ресурса» будут заполнены. Подробнее о свойствах элемента Свойства web-элемента.docx

Нажать кнопку «Сохранить».

  • Ресурс будет отображен в поле «Элемент» и доступен для взаимодействия при запуске робота.

Так же, чтобы добраться до элемента можно указать full xpath (то есть добраться до него по разметке сайта). Для этого необходимо получить full xpath элемента

и добавить новый ресурс

Создание Xpath

Синтаксис Xpath

HTML-разметка веб-страниц представляет собой дерево, состоящее из различных элементов, вложенных друг в друга. В этом дереве существует единственный корневой элемент, который в конечном счете включает в себя все остальные элементы. Для поиска и выбора элементов дерева web-страницы можно использовать особый язык XPath. Он позволяет искать элементы (узлы) по их положению на странице (в дереве), положению относительно другого элемента, тегу, текстовому содержимому и другим критериям. В XPath существует несколько типов узлов, которые могут находиться в дереве html-страницы. Но в контексте работы с роботами обычно используются только 3 типа узлов:

  • Элемент:
  • Атрибут элемента:
  • Текстовое содержимое элемента:

Путь поиска (Xpath) указывает на определенный узел или набор узлов, отвечающих заданным критериям поиска. Абсолютный путь – это полный и уникальный путь к элементу страницы, начиная от корневого узла. Такой Xpath часто называем полным. Недостаток такого Xpath: если разметка страницы изменится, то есть большая вероятность, что он перестать работать, т.е. по нему невозможно будет найти нужный элемент, или теперь будет указывать на какой-то другой элемент. Начинается с одинарной наклонной черты /. Пример:

Пример полного Xpath выделенного элемента:

/html/body/main/div[1]/div/a[2]/span

Относительный путь – это путь к элементу, начиная от любого элемента в любом месте веб-страницы. Может содержать дополнительные критерии поиска. Такой путь позволяет избегать необходимости писать весь полный XPath, т.к. можно начать его с середины структуры страницы. Также по одному такому Xpath можно найти сразу несколько элементов, подходящих под указанные критерии поиска. Однако последнее порой бывает и недостатком, когда основная цель – найти только один конкретный элемент. Начинается с двух наклонных черт //.

Пример краткого Xpath (элемента, что указан на изображении выше):

//span[@class=»avatar__image-wrapper»]

При создании вручную XPath для web-элементов роботов обычно составляем именно относительный путь. При составлении краткого Xpath часто используются различные специальные символы, предикаты, операторы и функции.

Специальные символы:

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

Для уточнения того, что неизвестный узел – это именно атрибут, перед * необходимо указывать @.

Примеры:

  1. // * [text() = „Найти“]

Поиск любого элемента, содержащего текстовое значение «Найти».

  1. //span[@*=“ button__text „]

Поиск элемента span, содержащего любой атрибут со значением «button__text».

Предикаты

Предикат – это часть выражения XPath, заключенная в квадратные скобки, которая необходима для указания критериев отбора конкретного элемента. В общем виде выражение с предикатом будет выглядеть следующим образом:

//элемент[правило_предиката1][правило_предиката2][правило_предиката3]

Пример:

//button[@role=»button»]/span[@class=»button__text»]

Поиск элемента span, который содержит атрибут class со значением «button__text», и при этом span является дочерним по отношению к элементу button, у которого есть атрибут role со значением «button».

Операторы

Также в XPath можно использовать логические операторы or и and для комбинирования критериев поиска.

Пример:

//span[@class=»button__text» or @role=»button» and text() = „Найти“]

Поиск элемента span, который содержит атрибут class со значением «button__text» или атрибут role со значением «button», и при этом span содержит текстовое значение «Найти».

Функции

XPath использует множество функций для поиска и преобразования данных.

Но наиболее часто при создании XPath для web-элементов роботов используются:

  • text()
  • contains()

text() - функция, которая используется для поиска элементов на основе его строкового значения. При этом значение элемента должно быть точно таким же, как текст, указанному в XPath.

Пример:

//span[text() = „Найти“]

Поиск элемента span, который содержит текстовое значение «Найти».

Также вместо text() можно использовать «.».

Пример:

//span[.= „Найти“]

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

Пример:

//span[contains(text(), „Прогноз“)]

Поиск элемента span, текстовое значение которого включает слово «Прогноз».

//span[contains(@itemprop, „name“)]

Поиск элемента span, который содержит атрибут itemprop, значение которого включает слово «name».

Индекс элемента

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

Пример:

По //div[@class=»uOosG»]//a на странице можно найти 8 элементов:

Чтобы был найден только 3й по счету, необходимо дополнить XPath:

(//div[@class=»uOosG»]//a)[2]

XPath, включающий несколько элементов

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

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

Примеры таких XPath:

  1. //div[input[@id=»af»]]

Поиск элемента div, который содержит дочерний элемент input c атрибутом id, у которого значение - «af».

  1. //div[ * [contains(text(),“Номер входящего документа“)]]//input

Поиск элемента input, который содержится в элементе div (родительский элемент):

  • Помимо искомого элемента, div точно содержит другой дочерний элемент, текстовое значение которого включает фразу «Номер входящего документа». При этом название этого дочернего элемента иногда меняется, поэтому не указываем его точно, а заменяем на спецсимвол «*».
  • Иногда появляются новые дочерние элементы в div, поэтому не уточняем, в какие дочерние элементы более высокого уровня включен input, т.е. на каком уровне вложенности input относительно div. Для этого между div и input ставим //.

Дополнительные источники:

Работа с мышью и клавиатурой

Прокрутить к элементу / Scroll to element

Задача: необходимо зайти на сайт https://old.bankrot.fedresurs.ru/TradeList.aspx и осуществить прокрутку страницы до элемента.

Решение: воспользоваться действиями «Открыть браузер», «Прокрутить к элементу»

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметры действия «Открыть браузер».

  • Настроить параметры действия «Прокрутить к элементу». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Переместить указатель мыши / Move pointer

Задача: необходимо зайти на сайт https://codepen.io/GBora/pen/VLYyzY и переместить указатель мыши относительно элемента (кнопки Follow). Ось X -100, ось Y - 200.

Решение: воспользоваться действиями «Открыть браузер», «Перестить указатель мыши»

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметры действия «Открыть браузер».

  • Настроить параметры действия «Переместить указатель мыши». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Отправить текст / Send text

Задача: необходимо зайти на сайт о сведениях по банкротству, заполнить поле «КОД» значением меньше 8 знаков и появившемся окне нажать на кнопку «ОК».

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Отправить текст», «Отправить клик».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметр действия «Открыть браузер».

  • Настроить параметры действия «Перейти по URL».

  • Настроить параметры действия «Отправить текст». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Настроить параметры действия «Отправить клик». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Отправить клик / Send click

Задача: необходимо зайти на сайт о сведениях по банкротству, заполнить поле «КОД» значением меньше 8 знаков и появившемся окне нажать на кнопку «ОК».

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Отправить текст», «Отправить клик».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметр действия «Открыть браузер».

  • Настроить параметры действия «Перейти по URL».

  • Настроить параметры действия «Отправить текст». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Настроить параметры действия «Отправить клик».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Отправить нажатие горячих клавиш / Send hot keys

Задача: перейти по ссылке https://codepen.io/GBora/pen/VLYyzY и нажать на данную кнопку (Follow) с помощью клавиши Enter.

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Отправить нажатие горячих клавиш».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметр действия «Открыть браузер».

  • Настроить параметры действия «Перейти по URL».

  • Настроить параметры действия «Отправить нажатие горячих клавиш». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Работа с диалоговыми окнами

Ввести текст в окно диалога / Send text to the alert

Задача: необходимо ввести текст в окно диалога после нажатия на кнопку «Выполнить код».

Решение: воспользоваться действиями «Открыть браузер», «Отправить клик», «Ввести текст в окно диалога».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Заполнить параметры для действия «Открыть браузер».

  • Заполнить параметры для действия «Отправить клик». Элемент необходимо взять при помощи WebSpy (см. раздел Создание Web-элементов).

  • Заполнить параметры для действия «Ввести текст в окно диалога».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Текст введен в диалоговое окно.

Отклонить окно диалога / Dismiss the alert

Задача: зайти на сайт https://old.bankrot.fedresurs.ru/backoffice/Login.aspx, нажать на кнопку «Войти», отклонить окно диалога.

Решение: воспользоваться действиями «Открыть браузер», «Отправить клик», «Отклонить окно диалога».

Реализация:

  • Собрать схему робота состоящую из действий:

  • Настроить параметры действия «Открыть браузер».

  • Настроить параметры действия «Отправить клик». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Настроить параметр действия «Отклонить окно диалога».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Получить текст диалогового окна / Gets the text of the alert

Задача: зайти на сайт https://old.bankrot.fedresurs.ru/backoffice/Login.aspx, нажать на кнопку «Войти», получить текст диалогового окна.

Решение: воспользоваться действиями «Открыть браузер», «Отправить клик», «Получить текст диалогового окна».

Реализация:

  • Собрать схему робота состоящую из действий:

  • Настроить параметры действия «Открыть браузер».

  • Настроить параметры действия «Отправить клик». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Настроить параметр действия «Получить текст диалогового окна».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Принять окно диалога / Accept the alert

Задача: зайти на сайт https://old.bankrot.fedresurs.ru/backoffice/Login.aspx, нажать на кнопку «Войти», принять окно диалога.

Решение: воспользоваться действиями «Открыть браузер», «Отправить клик», «Принять окно диалога».

Реализация:

  • Собрать схему робота состоящую из действий:

  • Настроить параметры действия «Открыть браузер».

  • Настроить параметры действия «Отправить клик». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Настроить параметр действия «Принять окно диалога».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Работа с окнами, вкладками, фреймами браузера

Получить URL / Get active URL

Задача: открыть браузер и перейти по ссылке https://old.bankrot.fedresurs.ru/DebtorsSearch.aspx?Name=, сохранить данную ссылку в строковую переменную для дальнейшего использования, открыть ссылку в новой вкладке, далее - закрыть браузер.

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Получить URL», «Перейти по URL», «Закрыть браузер».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметры для действия «Открыть браузер».

  • Настроить параметры действия «Перейти по URL».

  • Настроить параметры действия «Получить URL». В результате действия указать строковую переменную URL, созданную заранее.

  • Настроить параметры действия «Перейти по URL».

  • Настроить параметры действия «Закрыть браузер».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Переключиться на фрейм / Switch to frame

Описание

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

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

Для более глубокого понимания структуры фреймов и принципов их построения, рекомендуем ознакомиться с информацией по ссылкам ниже:

Подробнее о фреймах:

https://osipenkov.ru/iframe-tracking-gtm/

https://ru.wikipedia.org/wiki/%D0%A4%D1%80%D0%B5%D0%B9%D0%BC_(HTML)

https://www.tutorialspoint.com/html/html_frames.htm

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

Иконка

Параметры действия

  • Поле «Контекст» - необходимо указать контекст открытого браузера, в котором нужно искать фрейм. Страница браузера, где расположен нужный фрейм, должна быть открыта (действие «Открыть браузер»).

Заполните (необязательные) параметры, можно выбрать один:

  • Поле «Элемент» - необходимо указать веб-элемент, указывающий на фрейм. Такой элемент может быть создан вручную или с помощью WebSpy. Подробнее в разделе Создание Web-элементов

  • Поле «Имя» - можно указать имя фрейма. Например:

Для поиска такого имени фрейма воспользуйтесь консолью разработчика (клавиша F12 в chrome). Если у элемента отсутствует имя, то необходимо захватить его отдельно и указать в поле «Элемент», как указано в предыдущем параметре.

  • Поле «Индекс» - можно указать порядковый номер фрейма в структуре страницы. Фреймы нумеруются по порядку от верха страницы браузера, нумерация фреймов начинается с нуля. Количество фреймов и их расположение в разметке страницы можно посмотреть также в консоли разработчика.

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

Если одна из проверок наличия фрейма, по порядку, вернет ошибку, то действие завершит работу с ошибкой. Соответственно, если имя существует, а веб-элемент нет, но все равно указан, то действие отобразит ошибку.

  • Поле «Область поиска фрейма» - указывает направление поиска нужного фрейма для перехода. Относительно текущего положения, можно искать вниз структуры фрейма (по вложенным дочерним фреймам), вверх структуры фрейма (в родительском фрейме), либо выйти на самый верх структуры страницы Для этого выберите одну из возможных опций:

Текущий фрейм - действие будет искать фрейм, указанный в полях Элемент/Имя/Индекс в текущем местоположении (фрейме). Родительский фрейм - действие будет искать фрейм, указанный в полях Элемент/Имя/Индекс, в родительском фрейме, расположенном на уровень выше относительно текущего местоположения (фрейма). Также используйте эту опцию, когда текущий фокус находится в самом верху структуры страницы, например, когда вы только что открыли данную страницу. Вся страница - действие выполнит переключение фокуса из фрейма (из любого уровня вложенности) обратно на страницу. При использовании этой опции поля Элемент/Имя/Индекс не заполняются.

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

Настройки

Особые условия использования

  • При работе с элементами страницы элементы фрейма недоступны. Для того, чтобы обратиться к элементам фрейма, на него необходимо переключиться.

  • При работе с элементами фрейма элементы страницы недоступны. Для того, чтобы продолжить работу с элементами страницы, необходимо переключиться с фрейма обратно на страницу.

  • Повторно перейти на текущую вкладку возможно также с помощью действия «Переключиться на вкладку».

  • Чтобы определить количество фреймов на странице и их атрибуты, необходимо использовать консоль разработчика, . Консоль открывается нажатием клавиши F12 в браузере, где отображается iframe (если он имеется на странице).

Страница браузера с открытой консолью разработчика:

В рамках примера заполнения поля «Область поиска фрейма» рассмотрим сайт с фреймами: https://www.tutorialspoint.com/html/html_frames.htm

Пример использования действия с использованием параметров «Индекс» и опций параметра «Область поиска»:

  • Опция Родительский фрейм - будем искать во фрейме находящемся на уровень выше относительно текущего фокуса (фрейма), либо когда фокус находится на основной странице. На сайте 3 фрейма (можно посмотреть с помощью консоли разработчика). Для переключения на третий фрейм заполним параметры:

Проставляем в поле «Индекс» значение 2, (нумерация фреймов начинается с нуля). В поле «Область поиска фрейма» указываем значение «Родительский фрейм». В поле «Контекст» указываем контекст открытого браузера, в поле «Область поиска фрейма» укажем значение «Родительский фрейм» (потому что сейчас фокус находится в основной странице)

Фрейм (на который переключились) содержит в себе два фрейма.

  • Опция Текущий фрейм - ищем фрейм в внутри текущего фрейма. Переключимся на фрейм с текстом «This is main page and content from any link will be displayed here». Это второй фрейм внутри текущего фрейма. Укажем параметры действия:

В поле «Контекст» укажем контекст открытого браузера. В поле «Индекс» укажем значение 1 (нумерация фреймов начинается с 0). В поле «Область поиска фрейма» укажем значение «Текущий фрейм» (ищем дочерний фрейм в текущем фрейм).

Далее, с помощью действие «Получить текст» получим текст из фрейма (см. приложенную к описанию схему робота).

  • Опция Вся страница - выполним переключение фокуса из фрейма на основную страницу. Для этого указываем опцию «Вся страница» и контекст открытого браузера. Остальные параметры оставьте пустыми.

Выполним действие «Получить текст» из основной страницы (см. приложенную к описанию схему робота).

Пример использования действия с использованием параметров «Имя», «Элемент» и опций «Область поиска»:

Задача: зайти на сайт с фреймом https://www.w3schools.com/css/tryit.asp?filename=trycss_default, переключиться на него для дальнейшей работы с ним и получить текст из фрейма «My First CSS Example».

Решение: воспользоваться действиями «Открыть браузер», «Переключиться на фрейм», «Получить текст».

Реализация:

  • Собрать робота, состоящего из действий:

  • Настроить параметры для действия «Открыть браузер».

  • Настроить параметр для действия «Переключиться на фрейм».

  • Настроить параметры для действия «Получить текст». В поле «Элемент» необходимо указать элемент из которого необходимо получить текст. Подробнее о создании элементов в разделе: Создание Web-элементов

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

В данном случае, если отключить действие «Переключиться на фрейм», то элемент не будет найден, так как поиск элемента осуществляется в текущем документе, а сам элемент находится во вложенном.

Переключиться на вкладку / Switch to tab

Задача: открыть 2 вкладки в браузере, переключиться на первую и обновить ее.

Решение: воспользоваться «Открыть браузер», «Перейти по URL», «Перейти по URL», «Переключиться на вкладку», «Обновить».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметр действия «Открыть браузер».

  • Настроить параметры для действия «Перейти по URL». (1 ссылка)

  • Настроить параметры для действия «Перейти по URL». (2 ссылка)

  • Настроить параметры для действия «Переключиться на вкладку».

  • Настроить параметр для действия «Обновить».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Перейти по URL / Navigate to

Задача: необходимо зайти на сайт о сведениях по банкротству, заполнить поле «КОД» значением меньше 8 знаков и появившемся окне нажать на кнопку «ОК».

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Отправить текст», «Отправить клик».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметр действия «Открыть браузер».

  • Настроить параметры действия «Перейти по URL».

  • Настроить параметры действия «Отправить текст». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Настроить параметры действия «Отправить клик». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Открыть браузер / Open browser

Особые условия использования

Пример заполнения поля «Свойства» (заполнено автоматически, путем записи действий в Recorder).

{«acceptInsecureCerts»:true,»browserName»:»chrome»,»goog: loggingPrefs»:{«browser»:»ALL»},»timeouts»:{«implicit»:0,»pageLoad»:300003,»script»:30003},»unhandledPromptBehavior»:»dismiss»,»goog:chromeOptions»:{«args»:[«disable-popup-blocking»,»disable-notifications»,»no-sandbox»],»extensions»:[]}}

Свойства браузера выглядят примерно следующим образом:

{«acceptInsecureCerts»:true,

«browserName»:»chrome»,

«goog: loggingPrefs»:{«browser»:»ALL»},

«timeouts»:{«implicit»:0,»pageLoad»:300003,»script»:30003},

«unhandledPromptBehavior»:»dismiss»,

«goog:chromeOptions»:{«args»:[«disable-popup-blocking»,»disable-notifications»,»no-sandbox»,»–disable-blink-features=AutomationControlled»],»extensions»:[]}}

Примечание: В путях до папок/файлов обратный слэш обязательно нужно экранировать (С:\Users\User или С:/Users/User ).

Большинство возможностей доступно через объект ChromeOptions (выделены в свойствах жирным начертанием). Он используется для управления различными свойствами драйвера браузера. Поэтому данный объект интересует нас в бОльшей степени.

Обозначается следующим образом:

«goog:chromeOptions»:{«Опция 1»: Значение 1, «Опция 2»: Значение 2}.

Значений опций могут быть следующих типов:

Строка – «text», Список строк – [«text1», «text2»], Словарь - {«key1»: «value1»,»key2»: «value2»}, Логический тип – false/true,

В примере, в самом начале текста, использованы опции «args» и «extensions». Весь список опции объекта ChromeOptions представлен в таблице. Зеленым выделены наиболее часто используемые.

Получение crx расширения

Задача: открыть выбранный браузер на заданной странице, получить контекст действия для работы с действиями группы «Браузеры».

Решение: воспользоваться действием «Открыть браузер».

Реализация:

  • Открыть группу действий «Браузеры».

  • Открыть подгруппу «Окна, вкладки, фреймы».

  • Добавить действие «Открыть браузер» на рабочую область.

  • Настроить параметры действия.

    Настройка параметров действия:

    а) Поле «Браузер». Выбрать браузер из выпадающего списка, который необходимо открыть.

    б) Поле «Свойства». Указать файл в формате JSON по шаблону, который задаст приоритетные свойства для запуска браузера.

    в) Поле «Время явного ожидания». Установить тайм-аут по времени - 1000мс.

    г) Поле «Фоновый режим». Значение «True» or «False». Оставить «False», что бы браузер открылся в видимом режиме.

    д) Поле «Адрес». Указать URL-адрес, по которому перейдет открывшийся браузер - https://yandex.ru/.

    е) Поле «Сохранить в». Указать адрес на ПК, куда сохраняться файлы, скачанные если в параметре «Адрес» будет указана ссылка на скачивание.

  • Добавить действие «Закрыть браузер» на рабочую область. Заполнить параметр «Контекст».

  • Запустить робота по кнопке «Старт» в верхней панели.

Результат: в видимом режиме был открыть браузер Edge, и был выполнен переход на страницу https://yandex.ru/

Обновить / Refresh

Задача: открыть браузер , перейти по ссылке https://bankrot.cdtrf.ru//public/i/miregister.aspx, обновить страницу, далее -закрыть браузер.

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Обновить», «Закрыть браузер».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметр действия «Открыть браузер».

  • Настроить параметры действия «Перейти по URL».

  • Настроить параметр действия «Обновить».

  • Настроить параметр действия «Закрыть браузер».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Назад / Back

Задача: открыть браузер , перейти по ссылке https://bankrot.cdtrf.ru//public/i/miregister.aspx, нажать на кнопку «Назад» для возврата к предыдущей странице, далее -закрыть браузер.

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Назад», «Закрыть браузер».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметр действия «Открыть браузер».

  • Настроить параметры действия «Перейти по URL».

  • Настроить параметр действия «Назад».

  • Настроить параметр действия «Закрыть браузер».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Закрыть вкладку / Close tab

Задача: открыть браузер и перейти по ссылке https://bankrot.cdtrf.ru//public/i/miregister.aspx, далее в новой вкладке открыть страницу https://dzen.ru/?clid=2337508-193&from=dist_bookmark&win=381&yredirect=true. После, закрыть вторую вкладку, оставив открытой только первую.

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Перейти по URL», «Закрыть вкладку».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметр действия «Открыть браузер».

  • Настроить параметры действия «Перейти по URL» (для первой вкладки).

  • Настроить параметры действия «Перейти по URL» (для второй вкладки).

  • Настроить параметры действия «Закрыть вкладку». Если параметр «Индекс» заполнен, то он имеет приоритет над параметром «Заголовок».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Вторая вкладка закрыта.

Закрыть браузер / Close browser

Задача: необходимо зайти на сайт о сведениях по банкротству, заполнить поле «КОД» значением меньше 8 знаков и появившемся окне нажать на кнопку «ОК», далее - закрыть браузер.

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Отправить текст», «Отправить клик», «Закрыть браузер».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметр действия «Открыть браузер».

  • Настроить параметры действия «Перейти по URL».

  • Настроить параметры действия «Отправить текст». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Настроить параметры действия «Отправить клик». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Заполнить параметры действия «Закрыть браузер».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Выполнить скрипт / Execute script

Задача: Перейти на страницу https://dzen.ru/?clid=2337508-193&from=dist_bookmark&win=381&yredirect=true и запустить скрипт для отображения диалогового окна в браузере, далее -закрыть браузер.

Решение: Воспользоваться действиями «Открыть браузер», «Выполнить скрипт», «Закрыть браузер».

Реализация:

  • Собрать схему робота, состоящего из действий:

  • Заполнить параметры действия «Открыть браузер».

  • Заполнить параметры действия «Выполнить скрипт». (Используемый язык - JavaScript).

  • Заполнить параметры действия «Закрыть браузер».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Отображено диалоговое окно на странице в браузере.

Вперед / Forward

Задача: Необходимо перейти по ссылке в браузере и воспользоваться кнопками «Вперед»/»Назад» для просмотра страниц.

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Назад», «Вперед».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметр действия «Открыть браузер»:

  • Настроить параметры действия «Перейти по URL».

  • Настроить параметр действия «Назад».

  • Настроить параметр действия «Вперед».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Подключиться к открытому браузеру / Connect to an open browser

Задача: подключиться к браузеру Chrome и перейти по ссылке.

Решение: воспользоваться действиями «Подключиться к открытому браузеру», «Перейти по URL».

Релазизация:

  • Собрать схему робота, состоящую из действий: «Подключиться к открытому браузеру», «Перейти по URL».

  • Настроить параметр для действия «Подключиться к открытому браузеру».

  • Настроить параметры действия «Перейти по URL». В поле «Контекст» выбрать контекст действия «Подключиться к открытому браузеру». В поле «Адрес страницы» указать адрес по которму нужно перейти.

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

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

Вид браузера при подключении.

Вид браузера после перехода по ссылке.

Дополнительно:

Для корректной отработки действия необходимо выполнить следующие действия:

  • Нажать правой кнопкой мыши по ярлыку браузера и добавить в поле «Объект» параметр –remote-debugging-port=9222

  • Нажать на кнопку «ОК».

  • Зайти в диспетчер задач и проверить, что не запущены браузеры, работающие на базе Chromium (кроме требуемого).

  • Если запущены, то закрыть их.

Список данных браузеров: https://ru.wikipedia.org/wiki/%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80%D1%8B_%D0%BD%D0%B0_%D0%B1%D0%B0%D0%B7%D0%B5_Chromium

Установить веб-драйвера для браузеров Chrome и Yandex. Расположить, например, в корень диска С.

Скачать их можно по ссылкам: https://github.com/yandex/YandexDriver/releases и https://chromedriver.chromium.org/

  • Проверить, что в папке .robin имеется файл env.cfg с указанными драйверами и их версиями.

  • Перед запуском действия браузер должен быть свернутым.

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

Работа с элементами

Установить стиль элемента / Set element style property

Задача: перейти по ссылке https://codepen.io/GBora/pen/VLYyzY и установить стиль элемента - fontSize 10.

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Установить стиль элемента».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметр действия «Открыть браузер».

  • Настроить параметры действия «Перейти по URL»

  • Настроить параметры действия «Установить стиль элемента». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Установить значение списка / Set list value

Задача: перейти на сайт https://www.rpachallenge.com/assets/shortestPath/public/shortestpath.html и установить значение списка State = AR

Решение: воспользоваться действиями «Открыть браузер», «Установить значения списка».

Реализация:

  • Собрать робота из действий:

  • Настроить параметры действия «Открыть браузер».

  • Настроить параметры действия «Установить значения списка». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Требуемое значение установлено.

Установить атрибут элемента / Set element attribute

Особые условия использования

Для активации чек-бокса и радиокнопки необходимо присвоить атрибуту checked значение true.

Для активации option необходимо присвоить атрибуту selected значение true.

Для элементов типа input (text) и text area значение атрибута value определяет текстовое содержимое.

Список атрибутов:

Задача: перейти на сайт и установить атрибут элемента = отмеченное состояние (checked).

Решение: воспользоваться действиями «Открыть браузер» и «Установить атрибут элемента».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметры для действия «Открыть браузер».

  • Настроить параметры для действия «Установить атрибут элемента». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

«Сохранить изображение / Save image»

Задача: перейти по ссылке https://bankrot.cdtrf.ru/public/default.aspx и сохранить изображение с веб страницы.

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Сохранить изображение».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметры для действия «Открыть браузер».

  • Настроить параметры действия «Перейти по URL».

  • Настроить параметры действия «Сохранить изображение». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Изображение сохранено.

Проверка наличия элемента / Check element existing

Задача: перейти по ссылке https://codepen.io/GBora/pen/VLYyzY и проверить видимость и доступность элемента.

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Проверка наличия элемента».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметры для действия «Открыть браузер».

  • Настроить параметры действия «Перейти по URL».

  • Настроить параметры действия «Проверка наличия элемента». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Элемент видимый и доступный.

Получить элементы / Get elements

Задача: получить элемент страницы в переменную типа «Коллекция», далее нажать на элемент, получив его из коллекции.

Решение: воспользоваться действиями «Открыть браузер», «Получить элементы», «Получить значение по индексу», «Отправить клик».

Реализация:

  • Собрать робота, состоящего из действий:

  • Настроить параметры для действия «Открыть браузер».

  • Настроить параметры для действия «Получить элементы».

  • Настроить параметры для действия «Получить значение по индексу»

  • Настроить параметры для действия «Отправить клик».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Получить текст / Get text

Задача: перейти по ссылке https://codepen.io/GBora/pen/VLYyzY и получить текст элемента.

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Получить текст».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметры для действия «Открыть браузер».

  • Настроить параметры действия «Перейти по URL».

  • Настроить параметры действия «Получить текст». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Текст элемента получен.

Получить стиль элемента / Get element style property

Задача: перейти по ссылке https://codepen.io/GBora/pen/VLYyzY и получить стиль элемента (fontSize)

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Получить стиль элемента».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметры для действия «Открыть браузер».

  • Настроить параметры действия «Перейти по URL».

  • Настроить параметры действия «Получить стиль элемента». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Стиль элемента (fontSize) получен.

Получить размер и координаты элемента / Get element size and coordinates

Задача: перейти по ссылке https://codepen.io/GBora/pen/VLYyzY и получить размер и координаты элемента.

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Получить размер и координаты элемента».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметры для действия «Открыть браузер».

  • Настроить параметры действия «Перейти по URL».

  • Настроить параметры действия «Получить размер и координаты элемента». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Размер и координаты элемента получены.

Получить значение списка / Get list value

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

Решение: воспользоваться действием «Открыть браузер», «Получить значение списка».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметры для действия «Открыть браузер».

  • Настроить параметры для действия «Получить значение списка». Элемент необходимо взять с помощью инструмента WebSpy или скопировать полный Xpath с разметки страницы и добавить новый ресурс (см. раздел Создание Web-элементов).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Получить внутренний ID / Get element internal Id

Задача: перейти по ссылке https://codepen.io/GBora/pen/VLYyzY и получить внутренний ID элемента.

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Получить внутренний ID элемента».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметр действия «Открыть браузер».

  • Настроить параметры действия «Перейти по URL».

  • Настроить параметры действия «Получить внутренний ID». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Внутренний ID элемента получен.

Получить таблицу / Get table

Задача: получить таблицу в переменную «Таблица», расположенную на странице в интернете.

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Получить таблицу».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметр для действия «Открыть браузер».

  • Настроить параметр для действия «Перейти по URL».

  • Настроить параметры для действия «Получить таблицу». Подробнее про заполнение поля «Элемент» в разделе Создание Web-элементов.

  • Запустить робота по кнопке «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Таблица получена.

Дополнительно

Для чек-бокса «С заголовком»:

Работа параметра: При значении «true» действие первую строку исходной таблицы сохранит в заголовок возвращаемого табличного значения, т.е. она не будет являться строкой с содержимым таблицы.
При «false» первую строку оставит в части с содержимым таблицы, а в заголовке будут использоваться названия по умолчанию - 1, 2, 3 и т.д.

Пример. Забираем таблицу:

При включенном параметре в логе будет указано «Столбцов: 3; строк: 2», т.к. Первая строка взятой области стала заголовком с названиями столбцов «№», «Название» и «Тесты». К этим заголовкам нельзя обратиться как к строке данных, чтобы прочитать, но можно использовать имена столбцов, чтобы обратиться к конкретной ячейке или столбцу (действиями из группы «Таблицы»). Если параметр выключен, то в логе будет указано «Столбцов: 3; строк: 3», названия столбцов в заголовке будут «1», «2» и «3».

Получить атрибут элемента / Get element attribute

Задача: перейти по ссылке https://codepen.io/GBora/pen/VLYyzY и получить текстовое значение атрибута

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Получить атрибут элемента».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметр действия «Открыть браузер».

  • Настроить параметры действия «Перейти по URL».

  • Настроить параметры действия «Получить атрибут элемента». Для создания элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Текстовое значение элемента получено.

Ожидания

Ждать окончания загрузки файла / Wait for the file to finish downloading

Задача: открыть страницу в браузере https://fastest.fish/test-files и дождаться скачивания файла на рабочий стол, далее закрыть страницу браузера.

Решение: воспользоваться действиями «Открыть браузер», «Ждать окончания загрузки файла», «Закрыть браузер».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметры для действия «Открыть браузер».

  • Настроить параметры для действия «Ждать окончания загрузки файла».

  • Настроить параметры для действия «Закрыть браузер».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Требуемый файл скачан на рабочий стол.

Ждать заголовок страницы / Wait for page title

Задача: перейти на страницу https://dzen.ru/?yredirect=true и ожидать заголовка страницы, при нахождении заголовка страницы ввести в поисковую строку слово «Программирование».

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Ждать заголовок страницы», «Отправить текст».

Реализация:

  • Собрать схему робота, состоящую из действий

  • Настроить параметр для действия «Открыть браузер».

  • Настроить параметры для действия «Перейти по URL».

  • Настроить параметры для действия «Ждать заголовок страницы».

  • Настроить параметры для действия «Отправить текст». Элемент (поле «Элемент») необходимо взять с помощью WinSpy (см. раздел Создание Web-элементов).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Заголовок страницы определен и требуемый текст введен в строку поиска.

Ждать значение стиля / Wait for style value

Задача: перейти по ссылке https://codepen.io/GBora/pen/VLYyzY и ждать значение стиля (fontSize -10.5px), после - обновить страницу.

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Ждать значение стиля», «Обновить».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметр действия «Открыть браузер».

  • Настроить параметры действия «Перейти по URL».

  • Настроить параметры действия «Ждать значение стиля». Элемент взять с помощью инструмента WebSpy (см. раздел Создание Web-элементов).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Ждать значения атрибута / Wait for attribute value

Задача: зайти на сайт https://old.bankrot.fedresurs.ru/?attempt=1, проверить, что атрибут элемента имеет значение = cheked, далее - обновить страницу.

Решение: воспользоваться действиями «Открыть браузер», «Ждать значение атрибута», «Обновить».

Реализация:

  • Собрать схему робота состоящую из действий:

  • Настроить параметры действия «Открыть браузер».

  • Настроить параметры действия «Ждать значение атрибута». Для создания веб-элемента необходимо воспользоваться WebSpy (см. раздел Создание Web-элементов).

  • Настроить параметр действия «Обновить».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Ждать исчезновения элемента / Wait for element staleness

Задача: перейти на сайт https://www.rpachallenge.com/assets/shortestPath/public/shortestpath.html и ждать исчезновения элемента.

Решение: воспользоваться действиями «Открыть браузер», «Получить внутренний ID», «Ждать исчезновения элемента».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметры действия «Открыть браузер».

  • Настроить параметры действия «Получить внутренний ID». Элемент можно получить с помощью инструмента WebSpy или получить полный Xpath элемента с разметки страницы (см. раздел Создание Web-элементов).

  • Настроить параметры действия «Ждать исчезновения элемента».

  • Нажать на кнопку «Старт» в верхней панели. После того, как будет открыта страница браузера, вручную обновить страницу (имитация исчезновения элемента).

Результат:

Программный робот отработал успешно.

Ждать состояния элемента / Wait for element to exist

Задача: перейти по ссылке https://codepen.io/GBora/pen/VLYyzY и проверить существование элемента на странице (видимость и доступность).

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Ждать состояния элемента».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметр действия «Открыть браузер».

  • Настроить параметры действия «Перейти по URL».

  • Настроить параметры действия «Ждать состояния элемента». Элемент взять с помощью инструмента WebSpy (см. раздел Создание Web-элементов).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.

Ждать текст элемента / Wait for element text

Задача: перейти по ссылке https://codepen.io/GBora/pen/VLYyzY и ждать текста в элементе, далее обновить страницу.

Решение: воспользоваться действиями «Открыть браузер», «Перейти по URL», «Ждать текста элемента», «Обновить».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметр действия «Открыть браузер».

  • Настроить параметры действия «Перейти по URL».

  • Настроить параметры действия «Ждать текста элемента». Элемент взять с помощью инструмента WebSpy (см. раздел Создание Web-элементов).

  • Настроить параметр действия «Обновить».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно.