Логика скрипта в BAS: переменные, условия и циклы
Модуль «Логика скрипта» в Browser Automation Studio - условия, циклы, переменные, функции и управление потоком, которые превращают линейную запись в настоящую программу.
Все статьи гида Browser Automation Studio · 48
Запись кликов даёт прямую линию. Модуль «Логика скрипта» - это то, что сгибает эту линию в программу: ветвление, циклы, запоминание значений и отчёт об успехе или неудаче. Это слой, отделяющий макрос от настоящей автоматизации.
Условия и циклы
Ядро любой логики - выбирать и повторять:
- 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, почему записанные селекторы ломаются и как писать селекторы, переживающие изменения страницы.
Видео по теме
Сделаю под ключ
Не хотите собирать сами? Соберу бота на BAS под вашу задачу
Многопоточность, прокси, антидетект-профили и запуск по расписанию. Весь проект и доступы остаются у вас.
от 300 $ · 3-7 дней
«Павел крутой специалист выполнил парсер за несколько часов. Буду заказывать у Павла еще и еще! Спасибо ему огромное за его профессионализм и оперативность!»