Uindow vs. Selenium
Life's too short for Stale Selenium.
Selenium speaks WebDriver: synthetic events, brittle scripts, and an IDE that feels more like a spreadsheet. Uindow drives a real Chromium browser with genuine, OS-level input - on your machine, from your IP, with a results screen that hands you the files. Same web, far less suffering.

Real browser. Real input. Real results.
Trusted, OS-level interaction from your own machine - not WebDriver's synthetic events and stale extensions.
Uindow
Selenium
Results you can actually use
Selenium hands you a pass or a fail and leaves the reporting to you. Uindow hands you the goods. Every run saves the files it downloads, plus screenshots, full video, structured tables, and detailed logs - all searchable, filterable, and exportable from the results screen, as real files on your machine.
Trusted events, every time
- Uindow drives Chromium directly and sends trusted, OS-level events, so native dialogs, file pickers, dropdowns, and hover states simply behave.
- Selenium's W3C WebDriver protocol can only issue untrusted, synthetic events - exactly what modern sites learn to ignore.
Full video of every run
Recording runs in a separate worker, so it never drops a frame - not during page loads, reloads, or failures. Selenium leaves video capture to you and a pile of extra tooling.
A recorder that writes it for you
Hit record, use the browser, and Uindow turns your clicks into clean, deterministic JavaScript. Selenium IDE still depends on a browser extension that struggles to keep up - and the add-on is no longer compatible with Google Chrome.
Waits for you when it matters
Some steps need a person: a login, a captcha, a one-time code. Uindow pauses mid-run, asks you to step in, and picks up exactly where it left off - so a single wall doesn't sink the whole automation.
State that carries between runs
Each runner gets a persistent global store that remembers values from one run to the next, plus a run-level store that resets cleanly every time - both readable and writable from your modules.
Inputs kept out of your code
A module's inputs - logins, files, anything sensitive - live separately from its source. Hand someone the automation and nothing secret comes with it, and you decide exactly which files each run may touch.
Modules you can read and share
Automations are portable
.js.yaml modules: genuinely human-readable, easy to diff and debug, and yours to keep private or publish for everyone.Private by default
Uindow runs entirely on your machine; your credentials, tokens, and the sites you automate never leave it. Selenium runs often lean on a Grid or a cloud provider - with Uindow, local and private is simply the default.
CLI and MCP, built in
Drive Uindow from the command line or hand it to any AI agent over MCP - both ship inside the app. Selenium has language bindings and a CLI, but no way to give an agent a real, human-grade browser.
A local, private LLM
Need a model to summarize or classify mid-run? Call a small LLM running right on your machine: private, offline, and zero cost per step.
The best selectors, open-sourced
Stop hand-writing brittle selectors. Explore any page inside Uindow and get the single best CSS selector in one click - no DevTools. Our engine treats selection as a search problem, ranks every candidate, and emits readable compound selectors with fallbacks already computed. We open-sourced the whole thing as @uindow/css.
Built for humans, not hackers
Uindow isn't for anti-bot obsessives. It's for teachers, office workers, and anyone stuck clicking through a site that refuses to release an API. Ease of use, privacy, and peace of mind come first - the realism is just a happy bonus.
Loved by the people behind these products