Заполнение и отправка форм в BAS
Как надёжно заполнять, выбирать, отмечать и отправлять веб-формы в Browser Automation Studio — человекоподобный ввод, выпадающие списки и чекбоксы, проверка результата.
Заполнение форм — основа большинства проектов BAS: регистрация, вход, оформление заказа, правка профиля. Механика простая, но сделать это так, чтобы выглядело по-человечески и стабильно срабатывало, требует нескольких осознанных привычек.
Базовый поток «заполнил — отправил»
Поток формы в BAS — это короткая последовательность: найти каждое поле по селектору, задать значение, затем запустить отправку. Стройте его поле за полем, запуская после каждого шага, чтобы сразу ловить плохой селектор, а не отлаживать всю форму разом.
Печатайте по-человечески, а не вставляйте
Самый быстрый способ выглядеть ботом — заполнить все поля мгновенно. Реальные пользователи печатают. Используйте действие ввода с задержкой на символ, чтобы ввод шёл в человеческом темпе, и добавляйте небольшие случайные паузы между полями. На чувствительных сайтах одна эта разница решает, приживётся ли регистрация.
Списки, чекбоксы и радиокнопки
Это не текстовые поля, поэтому им нужна своя обработка:
- Списки (
<select>) — задавайте опцию по значению или видимому тексту, а не имитируйте клики; так надёжнее. - Чекбоксы и радиокнопки — сначала проверьте текущее состояние, затем переключайте только при необходимости. Слепой клик может снять уже установленную галочку.
- Кастомные JS-виджеты — фейковые списки из
<div>не являются настоящими элементами формы; нужно кликнуть, чтобы открыть, и кликнуть опцию, с ожиданиями между.
Загрузка файлов
В поля файла нельзя «напечатать». BAS даёт отдельный способ привязать локальный путь к файловому полю. Укажите файл, который существует на рабочей машине (или который бот скачал ранее), и продолжайте поток.
Надёжная отправка
Предпочитайте клик по реальной кнопке отправки вызову события submit — многие сайты вешают логику на обработчик клика кнопки, поэтому «сырой» submit не делает ничего. Перед кликом:
- Убедитесь, что все поля дозаполнились (добавьте короткое ожидание).
- Если сайт валидирует на лету, дайте ему момент убрать ошибки.
Проверяйте результат, а не предполагайте
Самый частый тихий сбой — бот «отправил» и пошёл дальше, тогда как форма на самом деле отклонила ввод. После отправки проверьте сигнал успеха — редирект, сообщение-подтверждение или отсутствие элемента ошибки. Отсутствие сигнала успеха считайте сбоем и ветвите логику соответственно.
Формы часто стоят за капчей. Это следующее препятствие, и ему посвящена отдельная статья в этом гиде.
Вопросы и ответы
Как сделать ввод в форму человекоподобным в BAS?
Используйте действие ввода с задержкой на символ, а не моментальную установку значения поля. Человеческий темп плюс небольшие случайные паузы между полями убирают паттерн мгновенного заполнения, на который реагируют антибот-проверки.
Бот в BAS отправляет форму, но ничего не происходит — почему?
Часто отправка срабатывает до того, как поле завершило валидацию, либо сайт использует JavaScript-обработчик вместо настоящего submit. Добавьте ожидание после заполнения и кликайте реальную кнопку, а не вызывайте событие submit формы.
Ещё по теме
- Browser Automation Studio: полный практический гидГид
- Создаём первого бота в Browser Automation StudioПошаговый разбор создания первого рабочего бота в BAS — от пустого проекта до процесса, который ходит по страницам, извлекает данные и работает в несколько потоков.
- Настройка прокси в Browser Automation StudioКак правильно настроить прокси в BAS — типы прокси, привязка по потокам, ротация и проверки, которые не дают мультиаккаунт-ботам попасть под бан.
- Поиск элементов в BAS: селекторы, которые не ломаютсяКак работает поиск элементов в Browser Automation Studio — CSS против XPath, почему записанные селекторы ломаются и как писать селекторы, переживающие изменения страницы.