Excel Input Forms
Download a spreadsheet, then key every one of its records into a web form — one record per round.
That's the whole premise, and it's also the most common automation practice request there is: read
structured data, map it to a form, submit, repeat. The catch is that nothing about the form stays
still. Field order reshuffles every round, and every input's id and
name attribute is regenerated, so the only reliable way to find a
field is by reading its visible label — exactly like a person would.
What this tests
This challenge is about selector strategy under change. Automations that hardcode an id or a fixed
tab order break the moment a form is redesigned; automations that read the label text and match it
to the right input keep working. Higher difficulties add dirty, real-world data (mixed date formats,
currency symbols, inconsistent spacing) and hostile DOM structure (fields hidden in accordions or
iframes, labels expressed only as placeholder or
aria-label), so you also practice data normalization and conditional
navigation.
Try it with
Any tool that can read a spreadsheet and drive a browser: UiPath, Power Automate, Automation Anywhere, or a Playwright, Selenium, or Cypress script. Nothing here depends on a specific framework.
Difficulty levels
- Easy — 10 records, clean data, shuffled layout and dynamic identifiers only.
- Medium — 15 records, plus dirty data formats, mixed input types, and per-round skipped fields.
- Hard — 20 records, plus iframes, accordion-hidden fields, label-less inputs, a changing "Next" control, and a 25s soft time limit per round.
Tips
Match inputs by their <label> text, not their attributes — those
change on purpose. Append ?seed=42 to the URL to get a repeatable run
while you build and debug your automation.
Normalized formats (Medium and up)
The downloaded file shows dates, phone numbers, and salary the way a messy real-world export would — the form always expects the normalized value, regardless of how the source cell is formatted:
- Start Date — always
YYYY-MM-DD, even when the file showsDD.MM.YYYYorMM/DD/YYYY. - Salary — digits only, no currency symbol or thousands separator (
$85,000in the file →85000in the form). - Phone — always
+1-555-XXX-XXXX, regardless of the separators shown in the file.
Some rounds mark one or two fields "skip" — leave those blank; filling them counts against your
accuracy. Country and Start Date also randomly switch between a plain text input and a native
<select> / <input type="date">.