Основы автоматизации в Browser Automation Studio

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

1. Введение в BAS: установка, обзор интерфейса и создание первого проекта

Введение в BAS: установка, обзор интерфейса и создание первого проекта

Добро пожаловать в курс «Основы автоматизации в Browser Automation Studio». Если вы когда-либо задумывались о том, как избавить себя от рутинных действий в браузере — будь то регистрация аккаунтов, парсинг данных, постинг в социальных сетях или проверка цен — вы попали по адресу.

В этой первой статье мы познакомимся с инструментом, который станет вашим главным помощником в автоматизации — Browser Automation Studio (сокращенно BAS).

Что такое Browser Automation Studio?

Browser Automation Studio — это мощная платформа для создания приложений, автоматизирующих действия в браузере. Главная особенность BAS заключается в том, что она позволяет создавать сложных ботов без необходимости писать код на языках программирования вроде Python или C#. Вместо этого вы используете визуальный конструктор, перетаскивая блоки и настраивая логику мышкой.

Почему стоит выбрать BAS?

* Низкий порог входа: Вам не нужно быть программистом, чтобы создать своего первого бота. * Защита от обнаружения: BAS умеет подменять «отпечатки» браузера (Fingerprints), делая вашего бота максимально похожим на реального пользователя. * Бесплатная версия: Основной функционал доступен бесплатно, чего вполне достаточно для обучения и создания серьезных проектов. * Компиляция: Вы можете превратить свой скрипт в отдельный .exe файл и передать его заказчику или запустить на другом компьютере без установки самой студии.

Установка и настройка

Прежде чем мы начнем творить магию, необходимо подготовить рабочее место.

Шаг 1: Скачивание

  • Перейдите на официальный сайт разработчика: Bablosoft.
  • Найдите раздел Browser Automation Studio.
  • Нажмите кнопку Скачать. Вам будет предложено несколько версий. Для начала рекомендуем скачивать последнюю стабильную версию (Stable).
  • Шаг 2: Установка

    Запустите скачанный инсталлятор. Процесс установки стандартный и не требует особых настроек. Выберите папку для установки и дождитесь завершения процесса.

    Шаг 3: Регистрация аккаунта

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

  • Если у вас еще нет аккаунта, нажмите на ссылку регистрации в окне программы или вернитесь на сайт Bablosoft и зарегистрируйтесь там.
  • Введите свои учетные данные в программу.
  • > Важно: Учетная запись нужна для доступа к бесплатным отпечаткам браузера и управления лицензиями, если вы решите приобрести премиум-функции.

    Обзор интерфейса

    После запуска и авторизации вы увидите стартовое окно. Чтобы попасть в основной интерфейс редактора, нажмите кнопку Создать новый (Create New) и дайте имя вашему проекту, например, MyFirstBot.

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

    !Схема интерфейса BAS: Панель действий, Редактор сценария, Браузер и Лог.

    1. Окно браузера (Справа)

    Это «глаза» вашего бота. Здесь вы видите всё, что происходит в автоматизируемом браузере. Вы можете взаимодействовать с этим окном вручную: кликать, вводить текст, прокручивать страницы. BAS будет предлагать действия на основе того, куда вы кликнули.

    2. Редактор сценария (Центр)

    Это «мозг» бота. Здесь выстраивается цепочка действий (Actions), которые бот будет выполнять последовательно. Изначально здесь пусто или есть только метка Main.

    3. Панель действий (Слева)

    Это ваша «библиотека инструментов». Здесь находятся все доступные команды, сгруппированные по категориям:

    * Браузер: Загрузка страниц, настройки прокси, работа с куки. * Логика: Условия if, циклы while и for. * Мышь и Клавиатура: Эмуляция движений и нажатий. * Инструменты: Работа с файлами, строками, базами данных.

    4. Лог и результаты (Внизу)

    Здесь отображается информация о ходе выполнения скрипта. Если произойдет ошибка, она появится здесь красным текстом. Также сюда можно выводить свои сообщения для отладки.

    Создание первого проекта: «Поиск в Google»

    Лучший способ изучить интерфейс — сделать что-то полезное. Давайте создадим бота, который заходит в Google, вводит запрос и кликает «Поиск».

    Этап 1: Загрузка страницы

  • В панели действий (слева) найдите категорию Браузер -> Загрузить (Load).
  • Перетащите это действие в центральную область (Редактор сценария).
  • Откроется окно настройки действия. В поле Url введите https://google.com.
  • Нажмите ОК.
  • Теперь в вашем сценарии появился первый кубик. Чтобы проверить его работу, кликните по нему левой кнопкой мыши (он выделится), а затем нажмите кнопку Выполнить (обычно иконка Play или F5, либо просто кликните по действию в режиме записи).

    В окне браузера справа должна загрузиться главная страница Google.

    Этап 2: Ввод текста

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

  • В окне браузера (справа) наведите курсор на строку поиска Google.
  • Кликните по ней левой кнопкой мыши.
  • Появится контекстное меню BAS. Выберите пункт Ввод текста (Type Text).
  • В появившемся окне в поле Текст для ввода напишите, например, Browser Automation Studio уроки.
  • Вы можете настроить скорость печати, но для начала оставим всё как есть.
  • Нажмите ОК.
  • Бот автоматически добавит действие в сценарий и сразу выполнит его — вы увидите, как текст появился в строке поиска.

    Этап 3: Нажатие кнопки поиска

  • В окне браузера наведите курсор на кнопку «Поиск в Google» (или иконку лупы).
  • Кликните по ней.
  • В меню выберите Двигать мышью и кликнуть по элементу (Move and click on element).
  • Нажмите ОК.
  • > Совет: Иногда кнопки на сайтах меняют свои идентификаторы. BAS использует умную систему селекторов (XPath/CSS), чтобы находить элементы. Если бот не находит кнопку, возможно, потребуется скорректировать селектор, но об этом мы поговорим в следующих уроках.

    Этап 4: Ожидание результатов

    Браузеру нужно время, чтобы загрузить результаты. Хорошей практикой является добавление ожидания.

  • В панели действий найдите категорию Браузер -> Ждать полной загрузки (Wait for full load) или просто добавьте фиксированную паузу через Инструменты -> Спать (Sleep).
  • Добавим сон на 3000 миллисекунд (3 секунды) для наглядности.
  • Запуск и проверка

    Теперь у вас есть скрипт из 4 действий:

  • Загрузить URL.
  • Ввести текст.
  • Кликнуть.
  • Подождать.
  • Чтобы запустить весь сценарий целиком:

  • Нажмите кнопку Стоп (красный квадрат) вверху, чтобы сбросить текущее состояние.
  • Нажмите кнопку Запуск (зеленый треугольник).
  • Вы увидите, как браузер самостоятельно открывает сайт, пишет текст и переходит к результатам. Поздравляем, ваш первый бот готов!

    Сохранение проекта

    Не забудьте сохранить свою работу. Нажмите Ctrl + S или выберите в меню Проект -> Сохранить. Файлы проектов BAS имеют расширение .xml.

    Режимы работы: Запись и Запуск

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

    * Режим записи (Record): Это то, где мы сейчас находились. Вы добавляете блоки, и они сразу выполняются. Это нужно для отладки и создания логики. * Режим запуска (Run): Когда вы нажимаете «Запуск» в главном меню (не внутри редактора), бот работает в многопоточном режиме (если настроено), без визуального редактора, показывая только окно браузера (если включено) и логи.

    Заключение

    Сегодня мы сделали первый шаг в мир автоматизации. Мы установили Browser Automation Studio, разобрались с его интерфейсом и написали простейшего линейного бота.

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

    Попробуйте поэкспериментировать с интерфейсом самостоятельно: попробуйте автоматизировать вход на какой-нибудь простой сайт или кликнуть по нескольким ссылкам подряд. Удачи в автоматизации!

    2. Базовая логика: конструктор действий, циклы, условия и работа с селекторами

    Базовая логика: конструктор действий, циклы, условия и работа с селекторами

    В предыдущей статье мы создали нашего первого бота, который умеет открывать Google и вводить поисковый запрос. Это был «линейный» сценарий: действия выполнялись строго одно за другим, без отклонений. Однако реальный интернет непредсказуем. Кнопки могут менять свое расположение, страницы могут долго грузиться, а всплывающие окна — появляться в самый неподходящий момент.

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

    Работа с селекторами: как бот «видит» сайт

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

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

    !Визуализация того, как селектор указывает путь к конкретному элементу в структуре HTML-кода страницы.

    Типы селекторов в BAS

    Browser Automation Studio поддерживает несколько типов поиска элементов. Вы можете увидеть их, если нажмете на иконку редактирования селектора в действии (например, в действии «Кликнуть»).

  • MATCH (Поиск по тексту):
  • Самый простой тип. Бот ищет элемент, содержащий определенный текст. * Пример: >MATCH>Найти. Плюс:* Легко читается человеком. Минус:* Если на сайте две кнопки «Найти» или язык сайта изменится, бот сломается.

  • CSS (CSS-селекторы):
  • Использует атрибуты стилей и классов. Это стандарт веб-разработки. * Пример: >CSS> .search-btn (найти элемент с классом search-btn). Плюс:* Работает быстро и точно.

  • XPATH (Путь в XML/HTML):
  • Самый мощный инструмент. Позволяет искать элементы по сложной логике (например, «найти кнопку, которая находится внутри третьего блока div, но только если рядом есть картинка»). * Пример: >XPATH> //button[@id='submit']. Плюс:* Можно найти абсолютно любой элемент.

    Что делать, если бот не находит элемент?

    Частая проблема новичков: вчера бот работал, а сегодня выдает ошибку Element not found. Это происходит, потому что сайты часто используют динамические идентификаторы (например, `id=

    3. Управление данными: входные настройки, парсинг информации и запись результатов в файлы

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

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

    Настоящая автоматизация строится на трех китах: Входные данные (Input), Обработка (Processing) и Выходные данные (Output). В этой статье мы превратим нашего простого бота в полноценный инструмент для сбора данных (парсинга).

    Входные настройки: работа с Ресурсами

    Представьте, что вам нужно проверить позиции сайта не по одному запросу, а по тысяче. Или зарегистрировать сто аккаунтов. Хардкодить (вписывать вручную) каждый запрос или логин внутрь скрипта — это тупиковый путь. Для этого в Browser Automation Studio существуют Ресурсы.

    Что такое Ресурс?

    Ресурс — это переменная, значение которой задается пользователем перед запуском скрипта. Это интерфейс общения между человеком и ботом.

    Чтобы создать ресурс:

  • Перейдите на вкладку Данные (Data) в окне проекта (обычно рядом с вкладкой «Скрипт»).
  • Нажмите кнопку Создать ресурс.
  • !Схема движения данных: от ввода пользователем через ресурсы в скрипт и вывод в файл.

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

    BAS предлагает множество типов ресурсов, но чаще всего вы будете использовать эти три:

    * Фиксированная строка (FixedString): Подходит для данных, которые редко меняются. Например, API-ключ от сервиса разгадывания капчи или пароль от админки. * Строки из файла (LinesFromFile): Самый мощный тип ресурса. Вы указываете путь к текстовому файлу, и BAS берет из него строки. Особенность:* Если вы запускаете бота в многопоточном режиме, BAS сам распределит строки между потоками, гарантируя, что одна и та же строка не будет взята дважды. Это идеально для баз логинов/паролей или списка URL для парсинга. * Случайная строка (RandomString): Генерирует случайный набор символов. Полезно для создания уникальных имен, паролей или заполнения полей при регистрации. * Целое число (Integer): Используется для настройки количества повторений, задержек или лимитов.

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

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

  • Откройте действие, где нужны данные (например, Ввод текста).
  • В поле ввода кликните на иконку списка (или начните вводить название ресурса).
  • Выберите ваш ресурс, например {{keyword}}.
  • Теперь при каждом запуске бот будет брать значение из этого ресурса.

    Парсинг информации: как забрать данные с сайта

    Парсинг (или скрапинг) — это процесс извлечения данных со веб-страницы. В BAS для этого есть специальная группа действий в категории Браузер -> Получить текст и Получить атрибут.

    Получение текста (Get Element Text)

    Это действие извлекает видимый текст элемента.

    Пример: Вы хотите сохранить заголовок статьи.

  • Используйте действие Получить текст.
  • Укажите селектор элемента (как мы учились в прошлом уроке).
  • В поле Переменная для сохранения укажите имя переменной, например [[ARTICLE_TITLE]].
  • > Важно: Переменные в BAS, в отличие от ресурсов, создаются внутри скрипта и существуют только во время его выполнения. Они обозначаются двойными квадратными скобками [[VARIABLE_NAME]].

    Получение атрибута (Get Element Attribute)

    Иногда нужная информация не видна на странице текстом. Например, ссылка скрыта внутри тега <a>, а путь к картинке — внутри тега <img>.

    Чтобы получить ссылку, нам нужно извлечь атрибут href.

  • Выберите действие Получить атрибут элемента.
  • Укажите селектор ссылки.
  • В поле Имя атрибута напишите href (для ссылок) или src (для картинок).
  • Сохраните результат в переменную, например [[LINK_URL]].
  • Практический пример: Парсинг выдачи Google

    Допустим, мы хотим получить заголовок и ссылку первого результата поиска.

  • Делаем поиск (как в первом уроке).
  • Находим селектор заголовка первого результата.
  • Используем Получить текст -> сохраняем в [[TITLE]].
  • Используем тот же селектор, но действие Получить атрибут элемента (href) -> сохраняем в [[URL]].
  • Теперь у нас есть две переменные с данными. Но если скрипт завершится, данные исчезнут. Нам нужно их сохранить.

    Запись результатов: Файловая система

    BAS имеет встроенный модуль Файловая система (File System), который позволяет читать, писать и управлять файлами на компьютере.

    Запись в файл (Write to File)

    Это основное действие для сохранения результатов.

  • Найдите категорию Файловая система -> Запись в файл.
  • Путь к файлу: Укажите, куда сохранить данные. Можно указать абсолютный путь или относительный (например, result.txt — файл создастся в папке проекта).
  • Данные: Здесь вы формируете строку, которая будет записана. Вы можете комбинировать текст и переменные.
  • Пример формата записи: Заголовок: [[TITLE]] | Ссылка: [[URL]]

    Режимы записи

    В настройках действия есть галочка Дописывать в конец файла (Append).

    * Если галочка стоит (Append): Новые данные будут добавляться к старым. Это нужно для сбора списков. * Если галочка снята (Overwrite): Файл будет каждый раз перезаписываться, удаляя старое содержимое. Это полезно для сохранения статусов или логов текущего момента.

    Форматы данных: CSV и TXT

    Для простых списков достаточно обычного .txt. Но если вы парсите структуру (Имя, Телефон, Email), лучше использовать формат .csv (Comma-Separated Values).

    CSV — это текстовый файл, где данные разделены запятыми или точками с запятой. Его легко открыть в Excel.

    Чтобы записать CSV, просто сформируйте строку с разделителем: [[NAME]];[[PHONE]];[[EMAIL]]

    Обработка данных перед записью

    Часто данные с сайта приходят «грязными». Например, цена может быть записана как 10 000 руб., а вам нужно только число 10000 для математики.

    Для этого в BAS есть модуль Инструменты (Tools) -> Работа со строками.

    Популярные действия: * Замена строки (Replace String): Можно заменить « руб.» на пустоту. * Обрезать строку (Trim): Удаляет лишние пробелы в начале и конце. * В верхний/нижний регистр: Приводит текст к единому виду.

    Собираем всё вместе: Сценарий «Парсер заголовков»

    Давайте объединим знания в алгоритм:

  • Ресурсы: Создаем ресурс Keywords типа «Строки из файла».
  • Цикл: Используем цикл While или For, чтобы перебирать ключевые слова (или используем встроенную логику работы ресурса в цикле).
  • Действие: Берем текущее ключевое слово из ресурса.
  • Браузер: Загружаем Google, вводим слово, жмем поиск.
  • Парсинг: Получаем текст первого заголовка в переменную [[TITLE]].
  • Файл: Записываем [[TITLE]] в файл results.txt с галочкой «Дописывать».
  • Таким образом, после завершения работы скрипта у вас будет файл со списком заголовков для всех ваших ключевых слов.

    Заключение

    Сегодня мы научились управлять потоками данных. Теперь вы знаете, как «скормить» боту список задач через Ресурсы, как извлечь полезную информацию со страницы через Парсинг и как сохранить результаты в Файл.

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

    4. Сетевая безопасность: работа с прокси, отпечатками браузера и профилями

    Сетевая безопасность: работа с прокси, отпечатками браузера и профилями

    В предыдущих статьях мы прошли путь от установки Browser Automation Studio до создания парсера, который умеет собирать данные и сохранять их в файлы. Мы научились управлять логикой бота и работать с ресурсами. Однако, как только вы попытаетесь запустить вашего бота для работы с популярными сайтами (Google, Facebook, Instagram, Avito) в промышленных масштабах, вы столкнетесь с серьезным препятствием.

    Это препятствие — системы защиты от ботов (Anti-Fraud системы).

    Если вы запустите 100 потоков с одного IP-адреса и со стандартными настройками браузера, сайт мгновенно поймет, что это не 100 разных людей, а одна программа. Результат: капчи, блокировки аккаунтов или временный бан по IP. В этой статье мы разберем три столпа анонимности в BAS: Прокси, Отпечатки (Fingerprints) и Профили.

    Отпечатки браузера (Fingerprints)

    Многие новички ошибочно полагают, что сайты идентифицируют пользователей только по IP-адресу и файлам Cookie. На самом деле современные сайты собирают о вас сотни параметров.

    Отпечаток браузера (Fingerprint) — это уникальная комбинация настроек и характеристик вашего устройства и браузера, которую сайт может считать через JavaScript.

    !Визуализация того, из каких параметров складывается цифровой отпечаток пользователя.

    Что входит в отпечаток?

    * User-Agent: Строка, сообщающая сайту название вашего браузера и операционной системы. * Canvas Fingerprint: То, как ваша видеокарта отрисовывает графику (у разных видеокарт результат отличается на пиксельном уровне). * AudioContext: Особенности звуковой подсистемы. * Шрифты: Список установленных в системе шрифтов. * Разрешение экрана и многое другое.

    Если вы просто запустите BAS, у него будет стандартный отпечаток. Если вы запустите 10 копий скрипта, у всех 10 будет одинаковый отпечаток. Для сайта это выглядит подозрительно: как будто 10 человек с абсолютно идентичными компьютерами зашли на сайт одновременно.

    Как BAS решает эту проблему?

    В Browser Automation Studio встроен мощный инструмент — Fingerprint Switcher. Он позволяет подменять реальные параметры вашего компьютера на параметры реальных пользователей, собранные в базу данных.

    Практика: Применение отпечатка

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

  • В панели действий найдите категорию Браузер -> Настройки.
  • Выберите действие Применить отпечаток (Apply Fingerprint).
  • В открывшемся окне вам нужно получить ключ отпечатка. Обычно это делается через специальную функцию получения ключа, но в базовой версии BAS часто используется действие Получить отпечаток перед его применением.
  • Правильный алгоритм действий:

  • Действие Получить отпечаток (Get Fingerprint). Здесь вы можете настроить фильтры (например, только Windows и Chrome).
  • Действие Применить отпечаток (Apply Fingerprint). В качестве входного параметра используйте переменную, полученную на предыдущем шаге.
  • Теперь для сайта ваш бот — это, например, пользователь с Windows 10, браузером Chrome 115 и видеокартой NVIDIA, даже если скрипт запущен на сервере с Windows Server без видеокарты.

    Прокси-серверы: маскировка IP-адреса

    Если отпечаток — это ваш «паспорт», то IP-адрес — это ваш домашний адрес. Даже если вы меняете паспорта (отпечатки), но приходите с одного и того же адреса (IP), вас быстро вычислят.

    Прокси (Proxy) — это промежуточный сервер, через который проходят ваши запросы. Сайт видит IP-адрес прокси-сервера, а не ваш реальный.

    Типы прокси

    Для автоматизации важно понимать разницу между типами прокси:

  • Серверные (Datacenter) IPv4: Самые дешевые и быстрые. Но сайты знают диапазоны IP-адресов дата-центров и часто относятся к ним с подозрением.
  • Резидентские (Residential): IP-адреса реальных домашних провайдеров. Они вызывают высокое доверие, но стоят дороже и работают медленнее.
  • Мобильные прокси: IP-адреса мобильных операторов. Это «золотой стандарт» автоматизации. Поскольку операторы выдают один IP тысячам реальных абонентов, сайты не могут забанить такой IP, иначе пострадают обычные люди.
  • Практика: Настройка прокси в BAS

    В предыдущем уроке мы научились загружать данные из файла. Прокси обычно хранятся в текстовом файле в формате ip:port:login:password.

  • Создайте ресурс ProxyList типа Строки из файла.
  • В начале скрипта (внутри цикла или в Main) добавьте действие из категории Браузер -> Настройки сети -> Прокси.
  • В поле настройки прокси вставьте строку из вашего ресурса.
  • Важный нюанс: BAS понимает разные форматы записи прокси. Если ваш прокси имеет авторизацию, строку нужно распарсить или передать в правильном формате. Часто используется формат строки: login:password@ip:port или просто ip:port, если авторизация по IP.

    > Совет: Всегда устанавливайте прокси до загрузки целевого сайта. Идеальное место — сразу после применения отпечатка.

    Профили браузера: сохранение истории

    Представьте, что вы каждый раз заходите в Facebook, вводите логин и пароль, работаете 5 минут и закрываете браузер. При следующем входе Facebook снова спросит пароль и, возможно, подтверждение по SMS, так как посчитает поведение странным. Реальные люди не выходят из аккаунтов каждый раз, у них сохранены Cookies.

    Профиль в BAS — это папка, в которой хранятся: * Cookies (куки). * Local Storage (локальное хранилище). * Кэш браузера. * История посещений.

    Использование профилей позволяет «прогревать» аккаунты. Бот заходит, авторизуется один раз, сохраняет профиль, и при следующем запуске он уже авторизован.

    !Иллюстрация того, как загрузка профиля восстанавливает состояние браузера.

    Практика: Работа с профилями

    В BAS работа с профилями реализована через действия в категории Браузер -> Профили.

    Сохранение профиля: Когда бот завершил работу (например, успешно авторизовался), нужно сохранить накопленные данные.

  • Используйте действие Сохранить профиль.
  • Укажите путь к папке, куда сохранить данные. Удобно использовать уникальный идентификатор аккаунта (например, логин) в названии папки: C:\Bots\Data\Profiles\[[LOGIN]].
  • Загрузка профиля: В самом начале скрипта, после установки прокси и отпечатка, но до загрузки сайта:

  • Проверьте, существует ли папка с профилем для этого аккаунта (действие Файловая система -> Существует файл/папка).
  • Если существует — используйте действие Загрузить профиль, указав тот же путь.
  • Временные профили

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

    Идеальная структура скрипта

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

  • Старт потока.
  • Получение данных: Берем аккаунт и прокси из ресурсов.
  • Настройка отпечатка: Получаем и применяем Fingerprint.
  • Настройка сети: Устанавливаем Прокси.
  • Работа с профилем:
  • * Если это старый аккаунт: Загружаем профиль. * Если это новый аккаунт: Работаем с чистым профилем.
  • Основная логика: Переход на сайт, авторизация (если не авторизованы), выполнение действий.
  • Завершение: Сохраняем профиль (если нужно сохранить состояние).
  • Частые ошибки новичков

  • Смена отпечатка без смены IP: Вы меняете «паспорт», но приходите с того же адреса. Это красный флаг для антифрод-систем.
  • Смена IP без смены отпечатка: Вы меняете адрес, но приходите с тем же уникальным «железом». Тоже подозрительно.
  • Использование дешевых публичных прокси: Такие IP часто уже находятся в черных списках. Лучше купить 10 качественных прокси, чем использовать 1000 бесплатных.
  • Отсутствие User-Agent: Если вы не примените отпечаток, BAS может отправить дефолтный User-Agent, который прямо скажет сайту: «Привет, я автоматизированный софт».
  • Заключение

    Сетевая безопасность в автоматизации — это игра в кошки-мышки с защитными системами сайтов. Используя связку Отпечаток + Прокси + Профиль, вы делаете своего бота максимально похожим на обычного пользователя. Это позволяет избегать банов и работать с сайтами долго и стабильно.

    В следующей статье мы перейдем к продвинутым техникам взаимодействия с элементами: научимся решать капчу (CAPTCHA), обрабатывать всплывающие окна и работать с JavaScript на странице.

    5. Финальная сборка: многопоточность, обработка ошибок и компиляция приложения

    Финальная сборка: многопоточность, обработка ошибок и компиляция приложения

    Поздравляем! Вы прошли долгий путь от установки Browser Automation Studio до создания сложного бота, который умеет работать с профилями, прокси и отпечатками. У вас есть работающий скрипт. Но давайте будем честны: пока он работает только у вас в редакторе, и если интернет моргнет — скрипт остановится с ошибкой.

    В этой финальной статье курса мы превратим ваш «черновик» в профессиональный программный продукт. Мы разберем три критически важных этапа:

  • Многопоточность: Как ускорить работу бота в 10, 50 или 100 раз.
  • Обработка ошибок: Как сделать так, чтобы бот не падал при малейшем сбое.
  • Компиляция: Как превратить проект в независимый .exe файл, который можно продать или передать коллеге.
  • Многопоточность: Магия скорости

    Представьте, что вам нужно перенести гору песка лопатой. Вы можете копать быстрее, но у вас есть физический предел. Это — однопоточный режим. А теперь представьте, что вы позвали 10 друзей с лопатами. Работа пойдет в 10 раз быстрее, хотя каждый отдельный человек копает с той же скоростью.

    В BAS поток (Thread) — это отдельная копия вашего браузера, которая выполняет скрипт независимо от других.

    !Схема работы многопоточности: один источник данных питает несколько независимых потоков.

    Как BAS управляет данными в потоках?

    Главный секрет многопоточности в BAS кроется в Ресурсах. Помните, мы создавали ресурс типа «Строки из файла»?

    Когда вы запускаете скрипт в один поток, он берет первую строку, обрабатывает её, затем вторую и так далее. Когда вы запускаете 5 потоков:

  • Поток №1 берет строку 1.
  • Поток №2 берет строку 2.
  • Поток №3 берет строку 3.
  • BAS автоматически следит за тем, чтобы потоки не подрались за одну и ту же строку. Вам не нужно писать сложный код для синхронизации. Просто укажите количество потоков при запуске, и система сама распределит нагрузку.

    Локальные и Глобальные переменные

    Это критически важный момент для понимания.

    * Локальные переменные: Все переменные, которые вы создаете в скрипте (например, [[TITLE]], [[URL]]), видны только внутри одного конкретного потока. Поток №1 не знает, что сохранил в переменную Поток №2. Это гарантирует, что данные разных аккаунтов не перемешаются. Глобальные переменные: Если вам нужно передать данные между* потоками (например, общий счетчик успешных регистраций), нужно использовать специальные действия «Глобальные переменные».

    Как запустить многопоток?

    В режиме Запись (Record) многопоточность не работает — там всегда один поток для отладки. Чтобы проверить скорость:

  • Сохраните проект.
  • Нажмите Запуск (Run) в главном меню BAS (не внутри редактора).
  • В настройках запуска вы увидите поле Количество потоков. Поставьте туда, например, 5.
  • > Совет: Количество потоков ограничено мощностью вашего процессора и объемом оперативной памяти. Каждый поток — это отдельный запущенный браузер Chrome. Рассчитывайте примерно 200-500 Мб оперативной памяти на один поток.

    Обработка ошибок: Делаем бота бессмертным

    Интернет нестабилен. Прокси могут отключаться, сайты могут долго грузиться, а верстка страниц — меняться. В стандартном режиме, если BAS не найдет элемент по селектору, скрипт остановится с ошибкой Element not found, и поток завершит работу.

    Если у вас база на 10 000 строк, и на 5-й строке бот упадет — это катастрофа. Нам нужно научить бота игнорировать ошибки и идти дальше.

    Блок «Игнорировать ошибки» (Ignore Errors)

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

    Пример использования: Вы ищете цену товара. Но иногда товара нет в наличии, и цены на странице нет.

  • Добавляем блок Игнорировать ошибки.
  • Внутрь кладем действие Получить текст (цену).
  • После блока проверяем: если переменная с ценой пуста, значит, товара нет.
  • Действие «Fail» (Завершить поток с ошибкой)

    Иногда нам нужно намеренно сообщить системе, что что-то пошло не так. Например, если сайт забанил наш IP.

    Если мы просто закончим скрипт, BAS посчитает, что поток отработал успешно, и строка из ресурса (логин/пароль) будет считаться использованной. Но мы ведь не смогли войти!

    Для этого используется действие Fail (категория Логика).

    Алгоритм надежного бота:

  • Пытаемся загрузить сайт.
  • Проверяем наличие текста «Access Denied».
  • Если текст найден -> Вызываем действие Fail с сообщением «IP забанен».
  • Когда срабатывает Fail: * Поток останавливается и помечается красным в логе. * Текущая строка ресурса (аккаунт или прокси) возвращается обратно в колоду (если в настройках ресурса не указано иное). Это гарантирует, что вы не потеряете данные из-за сбоя сети.

    Компиляция: Создание готового продукта

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

    BAS позволяет скомпилировать ваш скрипт в полноценное приложение (.exe).

    Процесс компиляции

  • В верхней панели нажмите на иконку Скомпилировать скрипт (изображение шестеренки или коробки).
  • Откроется мастер компиляции.
  • !Окно настроек компиляции скрипта в исполняемый файл.

    Основные настройки компиляции

    * Имя приложения: То, как будет называться ваш .exe файл. * Версия: Полезно для обновлений (1.0, 1.1). * Иконка: Вы можете загрузить свою .ico картинку, чтобы приложение выглядело брендированным. * Защита паролем: Вы можете установить пароль на запуск. Без него пользователь не сможет открыть бота. * Скрытый режим: Вы можете настроить бота так, чтобы браузер вообще не показывался пользователю, а работа шла в фоне (Silent mode).

    После нажатия кнопки ОК, BAS соберет все необходимые файлы, движок браузера и ваш скрипт в одну папку. Внутри этой папки будет файл НазваниеВашегоБота.exe.

    Передача приложения

    Полученную папку можно архивировать и отправлять кому угодно. Для работы бота не нужно устанавливать BAS на целевом компьютере. Всё необходимое уже лежит в папке.

    > Важно: Папка с ботом может весить довольно много (150-300 Мб), так как внутри неё находится полноценный браузер Chrome.

    Планировщик и автоматический запуск

    Скомпилированный бот поддерживает аргументы командной строки. Это значит, что вы можете запускать его через Планировщик заданий Windows (Task Scheduler).

    Например, вы можете настроить Windows так, чтобы ваш парсер запускался каждое утро в 08:00, собирал цены и выключался.

    Чек-лист перед финальной сборкой

    Прежде чем компилировать проект, проверьте себя по этому списку:

  • Пути к файлам: Используйте относительные пути (просто result.txt), а не абсолютные (C:ablosoft
  • esult.txt), иначе на чужом компьютере бот не найдет папку.
  • Ресурсы: Убедитесь, что ресурсы настроены правильно (например, «Строки из файла» не должны быть пустыми по умолчанию, если это не задумано).
  • Логирование: Добавьте действия Лог в ключевых точках скрипта. Когда бот будет работать у клиента, лог — это единственный способ понять, что происходит внутри.
  • Очистка: Удалите лишние действия «Спать» (Sleep), которые вы ставили для отладки. Замените их на умные ожидания (Ждать элемента).
  • Заключение курса

    Поздравляем! Вы завершили курс «Основы автоматизации в Browser Automation Studio».

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

    Что изучать дальше? Мир BAS огромен. Дальше вас ждут: * Работа с базами данных (MySQL, MongoDB). * Интеграция с API сервисов через HTTP-клиент (без браузера). * Написание кода на JavaScript для сложной логики. * Создание веб-интерфейсов для управления ботами.

    Но база у вас уже есть. Практикуйтесь, создавайте ботов для своих задач, и автоматизация станет вашим верным союзником. Удачи в разработке!