Get Auto.ru#
Рассмотрим пример робота, который проверяет на каком месте в поиске находятся автомобили на сайте Auto.ru. Исходными данными является файл Excel. При проверке сохраняется цена, салон в поисковом запросе пока не будет найден заданный в переменной OurSalon салон.
Проект робота состоит из двух диаграмм и одно файла в xlsx-формате.
Основная диаграмма проекта выглядит так (для удобства блоки диаграммы пронумерованы):
- Блок “Старт” (с этого блока начинается любая диаграмма).
- Блок “Запустить Chrome” позволяет запустить Google Chrome. Для данного блока указаны следующие свойства:
- URL (адрес открываемой при запуске страницы);
- Время ожидания (время ожидания запуска приложения и загрузки вкладки в секундах).
- Блок “Создать документ” позволяет создать Excel-документ. Для данного блока указано одно свойство “Название листа” (название листа, на котором будут происходить дальнейшие действия).
- Блок “Добавить лист” позволяет добавить лист в Excel-документ. Для данного блока указаны следующие свойства:
- Ссылка на документ (ссылка на документ, с которым в данный момент происходит работа. Название переменной в данном свойстве должно совпадать с названием переменной в свойстве "Ссылка на документ", блоков "Создать документ" или "Открыть документ" из группы Excel, которые ранее использовались для создания или открытия данного документа);
- Название листа (название листа, который необходимо добавить в Excel-документ).
- Блок “Открыть документ” позволяет открыть Excel-документ. Для данного блока указано свойство “Путь к файлу” (путь к Excel-документ, который требуется открыть).
- Блок “Получить значение ячейки” позволяет считать значение из ячейки Excel-документа. Для данного блока указаны следующие свойства:
- Ссылка на документ (ссылка на документ, с которым в данный момент происходит работа. Название переменной в данном свойстве должно совпадать с названием переменной в свойстве "Ссылка на документ", блоков "Создать документ" или "Открыть документ" из группы Excel, которые ранее использовались для создания или открытия данного документа);
- Лист (порядковый номер листа, на котором расположена требуемая ячейка. Нумерация начинается с 1);
- Строка (номер строки, на которой расположена требуемая ячейка. Нумерация начинается с 1);
- Столбец (номер столбца, в котором расположена требуемая ячейка. Нумерация начинается с 1).
- Блок “Условие” проверяет указанное условие на истинность, после чего выполнение сценария продолжается в сторону выхода “Да” (если условие выполняется) или в сторону выхода “Нет” (если условие не выполнилось).
Условие записывается в формате: “переменная” равна (==)/ больше (>)/ меньше (<) “значение”.
Например: $a == “Привет”, то есть, если значение переменной $a равно “Привет”, то выход “Да”, в противном случае – выход “Нет”.
$Result > 5, то есть, если значение переменной $Result меньше 5, то выход “Да”, в противном случае – выход “Нет”.
В данном случае, в качестве условия установлено:$SearchAuto == "". Т.е., в случае, если значение пустое, то выход “Да”.
- Блок “Сохранить документ” позволяет сохранить Excel-документ. Для данного блока указаны следующие свойства:
- Ссылка на Excel (ссылка на процесс обработки Word-документа, название переменной в данном свойстве должно совпадать с названием переменной в свойстве "Ссылка на Excel", блоков "Создать документ" или "Открыть документ" из группы Excel, которые ранее использовались для создания или открытия данного документа);
- Ссылка на документ (ссылка на документ, который необходимо сохранить. Название переменной в данном свойстве должно совпадать с названием переменной в свойстве "Ссылка на документ", блоков "Создать документ" или "Открыть документ" из группы Excel, которые ранее использовались для создания или открытия данного документа);
- Путь к файлу (путь к Excel-документу).
- Блок “Закрыть документ” позволяет закрыть Excel-документ. Для данного блока указаны следующие свойства:
- Ссылка на Excel (ссылка на процесс обработки Excel-документа. Название переменной в данном свойстве должно совпадать с названием переменной в свойстве "Ссылка на Excel", блоков "Создать документ" или "Открыть документ" из группы Excel, которые ранее использовались для создания или открытия данного документа);
- Ссылка на документ (ссылка на документ, который необходимо закрыть. Название переменной в данном свойстве должно совпадать с названием переменной в свойстве "Ссылка на документ", блоков "Создать документ" или "Открыть документ" из группы Excel, которые ранее использовались для создания или открытия данного документа).
- Блок “Закрыть документ” позволяет закрыть Excel-документ. Для данного блока указаны следующие свойства:
- Ссылка на Excel (ссылка на процесс обработки Excel-документа. Название переменной в данном свойстве должно совпадать с названием переменной в свойстве "Ссылка на Excel", блоков "Создать документ" или "Открыть документ" из группы Excel, которые ранее использовались для создания или открытия данного документа);
- Ссылка на документ (ссылка на документ, который необходимо закрыть. Название переменной в данном свойстве должно совпадать с названием переменной в свойстве "Ссылка на документ", блоков "Создать документ" или "Открыть документ" из группы Excel, которые ранее использовались для создания или открытия данного документа).
- Блок “Очистить кэш селекторов” позволяет очистить внутренний кэш селекторов. При использовании селекторов для ускорения поиска элементов на странице используется внутренний кэш. В кэш заносится информация об элементе после его успешного определения, и в дальнейшем при поиске элемента сначала проверяется кэш. Если в кэше присутствует информация по данному селектору, то она извлекается из него, что существенно ускоряет работу робота. Однако, в некоторых случаях, данный кэш может негативно сказываться на работе сценария. Часто это наблюдается при циклической обработке каких либо однотипных элементов на одной странице, например результатов поиска. В таких случаях рекомендуем очищать кэш при запуске каждой итерации перебора однотипных элементов на странице.
- Блок “Лог” позволяет выводить в лог произвольные сообщения и/или значения переменных в процессе работы сценария робота. Для данного блока указано свойство “Значение”. В кавычках указана текстовая константа, а имя переменной начинается с символа $. Т. е., данный блок записывает в лог робота сообщение о том, что было прочитано из Excel-файла при каждой итерации.
- Блок “Процесс” позволяет создавать сценарии, состоящие из нескольких диаграмм. Выполнение сценария продолжится с блока “Старт” указанной диаграммы проекта. Выполнение сценария вернется к текущему блоку и продолжится в текущей диаграмме, как только будет достигнут блок “Конец” во внешней диаграмме. Для блока “Процесс” указано свойство “Имя диаграммы” (имя файла диаграммы, в которой продолжится выполнение сценария).
- Блок “Присвоить значение переменной” устанавливает новые значения для одной или нескольких переменных. В данном случае, в свойствах указано два значения которые необходимо присвоить двум переменным, соответственно.
- Блок “Конец” (этим блоком завершается работа сценария или возврат диаграммы подпроцесса в основной процесс).
Диаграмма “AutoGetData”
- Блок “Старт” (с этого блока начинается любая диаграмма).
- Блок “Клик мышкой” позволяет эмулировать клик по заданному селектором элементу приложения. Для данного блока указаны следующие свойства:
- Селектор (идентификатор элемента пользовательского интерфейса);
- Действие (выбор действия, в данном случае, клик левой кнопкой мыши);
- ID процесса (переменная, в которой хранится идентификатор процесса. Указывает, с каким приложением необходимо работать);
- Автоскроллинг (установленный флаг включает функцию автоматического скроллинга списка до элемента, находящегося вне видимой области).
- Блок “Записать значение в ячейку” позволяет записать значение в ячейку Excel-документа. Для данного блока указаны следующие свойства:
- Ссылка на документ (ссылка на документ, с которым в данный момент происходит работа. Название переменной в данном свойстве должно совпадать с названием переменной в свойстве "Ссылка на документ", блоков "Создать документ" или "Открыть документ" из группы Excel, которые ранее использовались для создания или открытия данного документа);
- Лист (порядковый номер листа, на котором расположена требуемая ячейка. Нумерация начинается с 1);
- Строка (Номер строки, на которой расположена требуемая ячейка. Нумерация начинается с 1);
- Столбец (Номер столбца, в котором расположена требуемая ячейка. Нумерация начинается с 1);
- Значение (переменная, которую необходимо записать в требуемую ячейку).
- Блок “Присвоить значение переменной” устанавливает новые значения для одной или нескольких переменных. В данном случае, в свойствах указано три значения, которые необходимо присвоить трем переменных, соответственно.
- Блок “Клик мышкой” позволяет эмулировать клик по заданному селектором элементу приложения. Для данного блока указаны следующие свойства:
- Селектор (идентификатор элемента пользовательского интерфейса);
- Действие (выбор действия, в данном случае, клик левой кнопкой мыши);
- ID процесса (переменная, в которой хранится идентификатор процесса. Указывает, с каким приложением необходимо работать);
- Автоскроллинг (установленный флаг включает функцию автоматического скроллинга списка до элемента, находящегося вне видимой области).
- Блок “Нажать клавиши” позволяет эмулировать нажатие клавиш на клавиатуре. Для данного блока указаны следующие свойства:
- Клавиши (текст или клавиши, которые необходимо эмулировать, данное свойство задано переменной);
- ID процесса (переменная, в которой хранится идентификатор процесса и вкладки браузера, используемые данным блоком);
- Интерактивно (при установленном флаге, между нажатиями клавиш будут вставляться паузы);
- Время паузы (пауза между нажатия клавиш в миллисекундах);
- Выбрать все (при установленном флаге, перед началом ввода посылается сочетание клавиш "Выбрать все" (Ctrl+A)).
- Блок “Пауза” позволяет приостановить выполнение работы сценария на заданное время. Для данного блока указаны следующие свойства:
- Единица измерения (единица измерения, в которой задана длительность паузы. В данном случае, секунды);
- Длительность (значение промежутка времени в единицах измерения, на который будет приостановлена работа сценария);
- Запустить сразу (при установленном флаге, задержка будет применена сразу при первом проходе этого блока с момента запуска сценария робота).
- Блок “Нажать клавиши” позволяет эмулировать нажатие клавиш на клавиатуре. Для данного блока указаны следующие свойства:
- Клавиши (текст или клавиши, которые необходимо эмулировать, данное свойство задано переменной);
- ID процесса (переменная, в которой хранится идентификатор процесса и вкладки браузера, используемые данным блоком).
- Блок “Пауза” позволяет приостановить выполнение работы сценария на заданное время. Для данного блока указаны следующие свойства:
- Единица измерения (единица измерения, в которой задана длительность паузы. В данном случае, секунды);
- Длительность (значение промежутка времени в единицах измерения, на который будет приостановлена работа сценария);
- Запустить сразу (при установленном флаге, задержка будет применена сразу при первом проходе этого блока с момента запуска сценария робота).
- Блок “Извлечь данные” позволяет извлечь однотипные структурированные данные из веб-страниц (результаты поиска, элементы меню, списки, таблицы и т.д.) и поместить их в переменную в виде Таблицы Данных. Для данного блока указаны следующие свойства:
- Селектор (идентификатор окна браузера и элемента веб-страницы, либо набора однотипных элементов (заголовков, ссылок, блоков текста и т.д.), которые необходимо извлечь);
- ID процесса (переменная, в которой хранится идентификатор процесса и вкладки браузера, используемые данным блоком.).
- Блок “Лог” позволяет выводить в лог произвольные сообщения и/или значения переменных в процессе работы сценария робота. Для данного блока указано свойство “Значение”. В кавычках указана текстовая константа, а имя переменной начинается с символа $. Т.е., данный блок записывает в лог робота сообщение формата “Страница 1. Количество 55” и отображает в статусе (в верхней части экрана) текст этого сообщения.
- Блок “Цикл для каждого (Таблица Данных)” циклично перебирает все строки таблицы данных.
- Блок “Присвоить значение переменной” устанавливает новые значения для одной или нескольких переменных. В данном случае, в свойствах указано одно значение, которое необходимо присвоить конкретной переменной.
- Блок “Условие” проверяет указанное условие на истинность, после чего выполнение сценария продолжается в сторону выхода “Да” (если условие выполняется) или в сторону выхода “Нет” (если условие не выполнилось).
Условие записывается в формате: “переменная” равна (==)/ больше (>)/ меньше (<) “значение”.
Например: $a == “Привет”, то есть, если значение переменной $a равно “Привет”, то выход “Да”, в противном случае – выход “Нет”.
$Result > 5, то есть, если значение переменной $Result меньше 5, то выход “Да”, в противном случае – выход “Нет”. В данном случае, в качестве условия установлено: $IndexPage < 5. То есть значение переменной $IndexPage должно быть меньше 5.
- Блок “Клик мышкой” позволяет эмулировать клик по заданному селектором элементу приложения. Для данного блока указаны следующие свойства:
- Селектор (идентификатор элемента пользовательского интерфейса);
- Действие (выбор действия, в данном случае, клик левой кнопкой мыши);
- ID процесса (переменная, в которой хранится идентификатор процесса. Указывает, с каким приложением необходимо работать);
- Автоскроллинг (установленный флаг включает функцию автоматического скроллинга списка до элемента, находящегося вне видимой области).
- Блок “Условие” проверяет указанное условие на истинность, после чего выполнение сценария продолжается в сторону выхода “Да” (если условие выполняется) или в сторону выхода “Нет” (если условие не выполнилось).
Условие записывается в формате: “переменная” равна (==)/ больше (>)/ меньше (<) “значение”.
Например: $a == “Привет”, то есть, если значение переменной $a равно “Привет”, то выход “Да”, в противном случае – выход “Нет”.
$Result > 5, то есть, если значение переменной $Result меньше 5, то выход “Да”, в противном случае – выход “Нет”. В данном случае, в качестве условия установлено: $RowSalon[0] == $OurSalon. Т. е., если значение ячейки 0 в строке равно значению переменной.
- Блок “Записать значение в ячейку” позволяет записать значение в ячейку Excel-документа. Для данного блока указаны следующие свойства:
- Ссылка на документ (ссылка на документ, с которым в данный момент происходит работа. Название переменной в данном свойстве должно совпадать с названием переменной в свойстве "Ссылка на документ", блоков "Создать документ" или "Открыть документ" из группы Excel, которые ранее использовались для создания или открытия данного документа);
- Лист (порядковый номер листа, на котором расположена требуемая ячейка. Нумерация начинается с 1);
- Строка (Номер строки, на которой расположена требуемая ячейка. Нумерация начинается с 1);
- Столбец (Номер столбца, в котором расположена требуемая ячейка. Нумерация начинается с 1);
- Значение (переменная, которую необходимо записать в требуемую ячейку).
- Блок “Записать значение в ячейку” позволяет записать значение в ячейку Excel-документа. Для данного блока указаны следующие свойства:
- Ссылка на документ (ссылка на документ, с которым в данный момент происходит работа. Название переменной в данном свойстве должно совпадать с названием переменной в свойстве "Ссылка на документ", блоков "Создать документ" или "Открыть документ" из группы Excel, которые ранее использовались для создания или открытия данного документа);
- Лист (порядковый номер листа, на котором расположена требуемая ячейка. Нумерация начинается с 1);
- Строка (Номер строки, на которой расположена требуемая ячейка. Нумерация начинается с 1);
- Столбец (Номер столбца, в котором расположена требуемая ячейка. Нумерация начинается с 1);
- Значение (переменная, которую необходимо записать в требуемую ячейку).
- Блок “Присвоить значение переменной” устанавливает новые значения для одной или нескольких переменных. В данном случае, в свойствах указано одно значение, которое необходимо присвоить конкретной переменной.
- Блок “Записать значение в ячейку” позволяет записать значение в ячейку Excel-документа. Для данного блока указаны следующие свойства:
- Ссылка на документ (ссылка на документ, с которым в данный момент происходит работа. Название переменной в данном свойстве должно совпадать с названием переменной в свойстве "Ссылка на документ", блоков "Создать документ" или "Открыть документ" из группы Excel, которые ранее использовались для создания или открытия данного документа);
- Лист (порядковый номер листа, на котором расположена требуемая ячейка. Нумерация начинается с 1);
- Строка (Номер строки, на которой расположена требуемая ячейка. Нумерация начинается с 1);
- Столбец (Номер столбца, в котором расположена требуемая ячейка. Нумерация начинается с 1);
- Значение (переменная, которую необходимо записать в требуемую ячейку).
- Блок “Записать значение в ячейку” позволяет записать значение в ячейку Excel-документа. Для данного блока указаны следующие свойства:
- Ссылка на документ (ссылка на документ, с которым в данный момент происходит работа. Название переменной в данном свойстве должно совпадать с названием переменной в свойстве "Ссылка на документ", блоков "Создать документ" или "Открыть документ" из группы Excel, которые ранее использовались для создания или открытия данного документа);
- Лист (порядковый номер листа, на котором расположена требуемая ячейка. Нумерация начинается с 1);
- Строка (Номер строки, на которой расположена требуемая ячейка. Нумерация начинается с 1);
- Столбец (Номер столбца, в котором расположена требуемая ячейка. Нумерация начинается с 1);
- Значение (переменная, которую необходимо записать в требуемую ячейку).
- Блок “Записать значение в ячейку” позволяет записать значение в ячейку Excel-документа. Для данного блока указаны следующие свойства:
- Ссылка на документ (ссылка на документ, с которым в данный момент происходит работа. Название переменной в данном свойстве должно совпадать с названием переменной в свойстве "Ссылка на документ", блоков "Создать документ" или "Открыть документ" из группы Excel, которые ранее использовались для создания или открытия данного документа);
- Лист (порядковый номер листа, на котором расположена требуемая ячейка. Нумерация начинается с 1);
- Строка (Номер строки, на которой расположена требуемая ячейка. Нумерация начинается с 1);
- Столбец (Номер столбца, в котором расположена требуемая ячейка. Нумерация начинается с 1);
- Значение (переменная, которую необходимо записать в требуемую ячейку).
- Блок “Присвоить значение переменной” устанавливает новые значения для одной или нескольких переменных. В данном случае, в свойствах указано одно значение, которое необходимо присвоить конкретной переменной.
- Блок “Конец” (этим блоком завершается работа сценария или возврат диаграммы подпроцесса в основной процесс).