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