Filling and Submitting Forms in BAS
How to fill, select, check and submit web forms reliably in Browser Automation Studio — typing like a human, handling dropdowns and checkboxes, and verifying the result.
Form filling is the backbone of most BAS projects — registration, login, checkout, profile edits. The mechanics are simple, but doing it in a way that looks human and reliably succeeds takes a few deliberate habits.
The basic fill-and-submit flow
A form flow in BAS is a short sequence: find each field by selector, set its value, then trigger submission. Build it field by field, running after each step so you catch a bad selector immediately instead of debugging the whole form at once.
Type like a human, don’t paste
The fastest way to look like a bot is to fill every field instantly. Real users type. Use the typing action with a per-character delay so input arrives at a human pace, and add small random pauses between fields. On sensitive sites this difference alone decides whether a registration sticks.
Dropdowns, checkboxes and radios
These aren’t text fields, so they need their own handling:
- Dropdowns (
<select>) — set the option by value or visible text rather than simulating clicks, which is more robust. - Checkboxes and radios — check the current state first, then toggle only if needed. Blindly clicking can uncheck something already set.
- Custom JS widgets — fake dropdowns built from
<div>s aren’t real form controls; you must click to open and click the option, with waits in between.
File uploads
File inputs can’t be “typed” into. BAS provides a dedicated way to attach a local file path to a file input. Point it at a file that exists on the running machine (or one your bot downloaded earlier), then continue the flow.
Submitting reliably
Prefer clicking the actual submit button over firing a form-submit event — many sites attach their logic to the button’s click handler, so a raw submit does nothing. Before clicking:
- Make sure every field finished filling (add a short wait).
- If the site validates inline, give it a moment to clear errors.
Verify the result, don’t assume
The most common silent failure is a bot that “submits” and moves on while the form actually rejected the input. After submitting, check for a success signal — a redirect, a confirmation message, or the absence of an error element. Treat a missing success signal as a failure and branch accordingly.
Forms often sit behind a captcha. That’s the next obstacle, and it has its own article in this guide.
FAQ
How do I make form typing look human in BAS?
Use the typing action with a per-character delay rather than setting the field value instantly. Human-like timing, plus small random pauses between fields, avoids the instant-fill pattern that triggers anti-bot checks.
My BAS bot submits the form but nothing happens — why?
Often the submit fired before a field finished validating, or the site uses a JavaScript handler instead of a real submit. Add a wait after filling, and trigger the actual button click rather than a form-submit event.
- Browser Automation Studio: The Complete Practical GuideGuide
- Building Your First Bot in Browser Automation StudioA step-by-step walkthrough of creating your first working BAS bot — from a blank project to a flow that navigates, extracts data, and runs in multiple threads.
- Setting Up Proxies in Browser Automation StudioHow to configure proxies in BAS the right way — proxy types, per-thread assignment, rotation, and the checks that keep multi-account bots from getting flagged.
- Finding Elements in BAS: Selectors That Don't BreakHow element search works in Browser Automation Studio — CSS vs XPath selectors, why recorded ones break, and how to write selectors that survive page changes.