Get Auto.ru
Last updated
Last updated
Рассмотрим пример робота, который проверяет на каком месте в поиске находятся автомобили на сайте 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);
Значение (переменная, которую необходимо записать в требуемую ячейку).
Блок “Присвоить значение переменной” устанавливает новые значения для одной или нескольких переменных. В данном случае, в свойствах указано одно значение, которое необходимо присвоить конкретной переменной.
Блок “Конец” (этим блоком завершается работа сценария или возврат диаграммы подпроцесса в основной процесс).