Логика скрипта в BAS: переменные, условия и циклы
Модуль «Логика скрипта» в Browser Automation Studio — условия, циклы, переменные, функции и управление потоком, которые превращают линейную запись в настоящую программу.
Запись кликов даёт прямую линию. Модуль «Логика скрипта» — это то, что сгибает эту линию в программу: ветвление, циклы, запоминание значений и отчёт об успехе или неудаче. Это слой, отделяющий макрос от настоящей автоматизации.
Условия и циклы
Ядро любой логики — выбирать и повторять:
- IF — ветвление по условию: одно при истине, другое при лжи.
- WHILE / FOR / FOREACH — повтор блока: пока держится условие, фиксированное число раз или по разу на каждый элемент списка.
- Break / Continue — выйти из цикла досрочно или перейти к его следующей итерации.
Так вы обрабатываете список аккаунтов, повторяете до появления чего-то или делаете «если залогинен — пропусти вход».
Переменные, локальные и глобальные
Логике нужна память. BAS даёт две области видимости:
- Установить переменную / Увеличить переменную — обычные переменные в своей области. У каждого потока свои.
- Установить глобальную / Увеличить глобальную — значения, общие для всего скрипта и каждого потока. Используйте их для счётчиков и настроек, которые читают многие потоки; локальные — для состояния отдельного аккаунта, чтобы потоки не конфликтовали.
Отчёт о результате потока
Каждый поток должен завершаться вердиктом, и модуль логики его даёт:
- Success — завершить работу потока как успех.
- Fail — завершить как неудачу.
- Прервать скрипт — остановить весь скрипт.
Эти вердикты питают счётчики и логику успехов/неудач системы «Ресурсы», поэтому запуск знает, сколько аккаунтов реально отработало.
Управление потоком и обработка ошибок
- Установить метку / Перейти к метке — прыжок к помеченной точке потока, когда структурных циклов мало.
- Игнорировать ошибки — позволить блоку упасть, не убивая поток, чтобы вы ветвились по неудаче, а не падали.
Продакшн-бот в основном из этого и состоит: не из счастливого пути, а из веток, которые ловят отсутствующий элемент, неудачный вход или таймаут страницы.
Вызов функций
Модуль логики — это ещё и место, где вы вызываете свои функции:
- Вызов функции — запустить созданную функцию.
- Получить параметр функции — прочитать переданное в неё значение.
- Return — вернуть результат вызывающей стороне.
- Вызов функции в несколько потоков — запустить ту же функцию параллельно для роста пропускной способности.
Условия, циклы, переменные и вызовы функций — это весь словарь программирования, поданный визуально. Освойте их — и вы перестанете записывать макросы и начнёте писать софт, который просто собран из блоков.
Вопросы и ответы
Как работают условия и циклы в BAS?
Модуль «Логика скрипта» даёт IF для ветвления и WHILE, FOR и FOREACH для циклов, плюс Break и Continue для управления ими. Вы собираете реальный поток программы визуально, а не записываете один линейный путь.
Чем переменная отличается от глобальной переменной в BAS?
Обычная переменная живёт в своей области видимости, а глобальная разделяется на весь скрипт и все потоки. Используйте глобальные для значений, которые читают многие потоки, и локальные — для состояния отдельного потока.
Ещё по теме
- Browser Automation Studio: полный практический гидГид
- Создаём первого бота в Browser Automation StudioПошаговый разбор создания первого рабочего бота в BAS — от пустого проекта до процесса, который ходит по страницам, извлекает данные и работает в несколько потоков.
- Настройка прокси в Browser Automation StudioКак правильно настроить прокси в BAS — типы прокси, привязка по потокам, ротация и проверки, которые не дают мультиаккаунт-ботам попасть под бан.
- Поиск элементов в BAS: селекторы, которые не ломаютсяКак работает поиск элементов в Browser Automation Studio — CSS против XPath, почему записанные селекторы ломаются и как писать селекторы, переживающие изменения страницы.