Руководство к Browser Automation Studio

Урок #1. Введение. Автономный чеккер gmail.

https://www.youtube.com/watch?v=L6ajX1d-fmk

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

Список тем:

Возможности софта.

Описание интерфейса редактора скрипта.

Описание действий, редактор сценария.

Работа с браузером в BAS.

Редактирования скрипта.

Поиск элемента по изображению.

Лог, отлов ошибок, id действия.

Поиск действий.

Переменные.

Настройки браузера и кнопки скролла.

Ожидание загрузки страницы.

Режим запуска.

Пользовательский интерфейс, ресурсы.

Как исправить «зависания» скрипта.

Условия.

Создание автономного бота. Компиляция.


Урок #2. Селекторы. Поиск элементов. Парсер ленты twitter.

https://www.youtube.com/watch?v=joDn1VMO9KM

Все что нужно знать для создания парсера. Снова много примеров, создал парсер картинок из ленты twitter. Тем, кому не нужно парсить сложные страницы, можно смотреть до 26 минуты.

Список тем:

Введение в селекторы. Входной параметр «Селектор элемента».

Составление селекторов для элементов со сменным id.

Настройки поведения БАС в случае ошибки поиска элемента.

Поиск элемента по координатам.

Немного о формате html. Селекторы css.

Парсер твиттов из ленты.

Парсер картинок из твиттов. Вложенные селекторы.

Селекторы match.

Селекторы xpath.

Поиск элементов внутри фрейма.

Поиск по изображению.


Урок #3. Ресурсы. Работа с файлами в многопотоке.

https://www.youtube.com/watch?v=kW9ag7-3nDk

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

Список тем:

Описание системы ресурсов.

Ресурс типа «строка».

Получение значения ресурса на стороне разработчика.

Ресурс типа «число».

Ресурс типа «случайное число».

Ресурс типа «генератор строк». Spintax.

Ресурс типа «Из файла». Чтение файлов.

Запись в файл выбранный пользователем.

Режимы чтения файлов. Работа со строками из нескольких потоков.

Работа с файлами(изображениями) из папки в режиме многопотока.

Обработка ошибок при использовании ресурсов.

Получение нескольких ресурсов в одном потоке.

Работа с прокси. Проверка прокси на валидность.

Дополнительные настройки ресурсов.

Ручное удаление строк из файла.

Выполнение действий в начале работы скрипта(перед запуском потоков).

Парсинг файлов со сложным форматом в ресурс. Конструктор регулярных выражений.

Ресурсы с несколькими типами.

Внешний вид пользовательского интерфейса.

Ресурс типа «Список».

Основы конструктора javascript выражений.

Условная видимость ресурсов.


Урок #4. Переменные. Использование javascript.

https://www.youtube.com/watch?v=jwp-2JM0f6E

Это важное видео, в нем рассказывается о переменных, о формате выражений, о том, как использовать javascript код в BAS.

Список тем:

Что такое переменные.

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

Использование переменных.

Типы переменных.

Создание переменных разных типов.

Входные параметры типа expression.

Использование javascript функций.

Операторы сравнения.

Пример, проверка кода страницы на содержание стоп слова.

Получения типа переменной.

Преобразование типов. Пример, получения числа лайков на странице.

Задание нескольких переменных сразу.

Выполнения произвольного js кода.

Создание многострочных переменных. Действие «Шаблон».

Глобальные переменные.

Пример, завершение скрипта через заданное время.

Специальное значение null.

Переменная типа object.

Парсим ответ от апи. JSON.parse


Урок #5. Конструктор javascript.

https://www.youtube.com/watch?v=uLfi_c8DwwI

Видео о том, как создавать сложные javascript выражения с помощью визуального программирования. Показан основной принцип и множество примеров.

Список тем:

Описание конструктора.

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

Простые операции с числами.

Использование переменных в конструкторе.

Пример, формирование урл.

Использование блоков с произвольным кодом.

Пример, парсер широты/долготы городов.

Пример, фильтр для твиттер парсера.

Пример, форматирование строки.


Урок #6. Условия. Действие If. Постер twitter.

https://www.youtube.com/watch?v=59KSijwvRTw

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

Список тем:

Условия, теория.

Пример. Поиск картинки на сайте.

Как составлять выражения для if.

Постер twitter.

Перебор всех аккаунтов.

Игнорирование ошибок.

Делаем код более читаемым.

Использование функций для упрощения скрипта.

Проверка на дату последнего твитта.

Использование меток.

Постинг, проверка успешности выполнения.

Сохранение скриншота в случае ошибки.

Переход в многопоточный режим.


Урок #7. Циклы. Постер из RSS ленты.

https://www.youtube.com/watch?v=BhmOwzIW1lU

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

Список тем:

Когда возникает необходимость в использовании циклов.

Цикл for.

Границы цикла, переменная CYCLE_INDEX.

Чтение из файла построчно.

Использования выражений в качестве границы цикла.

Цикл foreach.

Браузерный цикл.

Прерывание цикла. Ожидание события с помощью цикла.

Пример, загрузка видео на ютуб.

Использование меток вместе с циклом.

Улучшаем постер твиттер, добавляем парсинг rss.


Урок #8. Многопоточность. Множество примеров.

https://www.youtube.com/watch?v=Vj2Q50FIBi4

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

Список тем:

Запуск в однопоточном режиме.

Однопоточный режим несколько выполнений.

Завершение потока с ошибкой.

Запуск в 2 потока.

Завершение работы скрипта после отсутствия ресурса.

Остановка через действие «Прервать скрипт».

Пример, постер картинок из папки на imgur.com.

OnApplicationStart.

Обмен данными между потоками.

Пример, автовход gmail.

Синхронные и асинхронные действия.

Lock, выполнение действий в одном потоке.

Выполнение разных действий в потоках, обмен данными.

Обмен данными через список и глобальные переменные.

Совершенствуем постер в твиттер, дополнительные проверки, выделяем один поток под парсер, остальные под постинг.

Создание менеджера аккаунтов.

В этом руководстве описано, как хранить ваши учетные записи в базе данных. В этом уроке вы узнаете:

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

Просмотр

Создание парсера в несколько стадий.

В этом руководстве описано, как создать парсер с переменным числом потоков.

Просмотр

Альтернативный курс.

Видео от Павла Дугласа.

Стрим DrPrime.

Работа с модулями.

Старые руководства(могут быть устаревшими):

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

  • Как нажимать на кнопки и заполнять формы в БАС.
  • Как редактировать скрипт.
  • Как установить количество потоков.
  • Как скомпилировать автономный скрипт для запуска без БАС.
  • Как создавать пользовательский интерфейс.

Ознакомтесь с этим руководством, если только начинаете работать с БАС.

Просмотр

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

  • Как использовать переменные, циклы, функции.
  • Более подробно об редактировании сценария.
  • Парсинг страницы.

Просмотр

Браузер. Вопросы-Ответы.

Как использовать прокси

PerfectCanvas

CustomServers

FontPack

Плагины для автоматизации

Я слышал, что WebRTC показывает мой IP, как отключить его

Как решать капчу

Как установить юзер агент

Как загрузить страницу

Как получить текущий урл

Как заполнять формы

Как кликнуть по (x,y) координатам

Как выполнить яваскрипт и получить результат

Как найти элемент

Как прокрутить страницу

Как использовать диалог "Открыть файл"

Как сделать скриншот

Как ждать определенного события на странице

Как работать с кукисами

Как получить результат выполнения запроса

Как запретить загрузку определенных страниц

Как проверить была ли загружена страница

Как редактировать поля ввода

Как перебрать элементы страницы

Как нажать на кнопку/ссылку

Как проверить, существует ли элемент на странице

Как проверить, виден ли элемент на странице

Как установить чекбокс

Как установить комбобокс

Как получить код страницы

Как двигать мишь

Как включить флэш

Как сменить прокси, если он не работает

Как оптимизировать приложение

Как очистить куки и перезапустить браузер

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

Какое максимальное число потоков

Как подтвердить телефон

Магазин. Вопросы-Ответы.

ХТТП Клиент. Вопросы-Ответы.

Ресурсы. Вопросы-Ответы.

Ответы на общие вопросы

Окно браузера слишком маленькое, как я могу его увеличить

Как вывести результат работы сценария

Как дать возможность пользователю задать имя файла с результатами

Как писать в лог

Как использовать планировщик задач

Как работать со строками

Я не знаю яваскрипт, что делать

Как скомпилировать скрипт и отдать заказчику

Возможно ли выполнять определенные действия в зависимости от условий(if)

Возможно ли использовать цикл

Функции

Как игнорировать ошибки

Многопоточность

Я хочу чтобы определенное действие выполнялось один раз в начале работы скрипта

Я хочу, чтобы скрипт выполнялся несколько раз

Как использовать переменные

Как посмотреть список переменных

Как завершить скрипт преждевременно

Как выполнить пользовательский код

В моем сценарии слишком много действий, как сделать его более читаемым

Отладочная версия

Для разработчиков