Head to head · Browser automation · October 2026 research run

AutoCua vs Selenium

Selenium scores 70.8 (BB) on agent readiness against AutoCua's 44.3 (E), and leads in 6 of 7 scored categories. Both do browser automation.

Best desktop and mobile app automation for AI agents · All 48 desktop comparisons

Best browser automation tools for AI agents · All 230 browser comparisons

Which one, for what

AutoCua E

Best for Developers who want a local agent to operate desktop apps, their own browser or phones across platforms, on a machine they control.

Also in its favour

  • No incidents deducted, where Selenium loses 3 points for them

Watch for

Two weeks old at version 0.1.9, with no changelog file

Selenium BB

Best for Agents that write test or automation scripts in any of five languages, and teams with a Grid.

Ahead on

  • Reliability, 90 against 25
  • Schema & documentation, 89 against 42
  • Agent ergonomics, 70 against 55
  • Security & auth, 43 against 38
  • Maintenance & community, 94 against 65
  • Transparency & trust, 77 against 42

Also in its favour

  • Agent-ready, a grade of BB or better

Watch for

No MCP server from the project. The docs point to community servers and say they are third-party

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Reliability Selenium +65

AutoCua 25

Local package. Installs from PyPI as AutoCua with Python 3.10 or later and the supported platforms stated (20). No CI runs the tests; the only workflow, use_case_label.yml, labels issues (0). GitHub issues weren't read, so the open-issue line is scored absent (0). Four tags in a week with no changelog file (5). Version 0.1.9 (0). 20 + 0 + 0 + 5 + 0 = 25.

Selenium 90

Scored as local software. Official packages at 4.52.0 (29 October 2026) on Maven Central, RubyGems, NuGet and npm, with Python 3.10 stated in pyproject.toml and selenium-webdriver now requiring Node.js 22.23.4, 24.22.1 or 26.12.1 or newer (20). Public CI per binding plus Grid and Selenium Manager jobs, and the 15 most recent runs on trunk on 13 October 2026 succeeded except one cancelled cache job, per the 14 October check, not re-read on 1 November (25). 189 open issues and pull requests across five bindings, labelled by component, with a Grid regression in round-robin slot selection (open since 2 October) and an idle-session issue with 27 comments, per the 14 October check, not re-read on 1 November (21 of 25). The project says it does not follow semver. It usually deprecates before removal and lists removals in each binding's changelog, but 4.52.0 also changed the Ruby binding's certificate handling in the same release that deprecated the old behaviour (9 of 15). 4.x, marked Production/Stable in pyproject.toml (15).

Schema & documentation Selenium +47

AutoCua 42

Framework reading. No API reference or typed interface beyond run_agent's documented arguments (5 of 25). No llms.txt (0). The README says what each mode drives and where it runs, and agent_capabilities.md lists what it can do (16 of 20). Modes and device are documented strings (6 of 15). Many examples, no documented errors (10 of 15). Tags without a changelog (5 of 15). 5 + 0 + 16 + 6 + 10 + 5 = 42.

Selenium 89

Graded as a library and a WebDriver server. Typed bindings, a py.typed marker and the W3C WebDriver specification as the wire contract. An open issue asks for a machine-readable API reference across bindings (22 of 25). llms.txt with notes for code generators (10). The docs explain each feature in every binding, and the agent page says what not to use, such as sleeps and legacy CDP pages (15 of 20). Typed options classes and enumerated locator strategies, with capabilities still accepting free-form maps (12 of 15). Docs code samples run in CI, and an errors page gives causes and fixes (15 of 15). Versioned releases and a changelog per binding (15).

Transparency & trust Selenium +35

AutoCua 42

MIT (30). Says it sends data only to the chosen model provider and keeps everything else locally, and the source agrees (20 of 30). No deprecation policy (0). States no telemetry, and none was found (20). 30 + 20 + 0 + 20 = 70.

Selenium 77

Apache-2.0, held by Software Freedom Conservancy (30). No privacy page on selenium.dev. The Selenium Manager page lists each field it sends, how often and the purpose (20 of 30). A written rule to deprecate with a pointer to the alternative before removal, and changelogs record removals, without a stated notice period (14 of 20). Telemetry is disclosed with three opt-outs, but on by default (16 of 20).

Maintenance & community Selenium +29

AutoCua 65

v0.1.9 tagged on 4 November 2026 (30). Four tags in 90 days (20). Issues and pull requests weren't read (0 of 25). The PyPI wheel is current (15). No CI; dependencies pinned per OS in requirements files (0 of 10). 30 + 20 + 0 + 15 + 0 = 65.

Selenium 94

4.52.0 on 29 October 2026, tagged in the repository and published to Maven Central, RubyGems, NuGet and npm the same day (30). Six releases since 3 August 2026, 4.47.0 (10 August) to 4.52.0 (20). Most of the newest 30 open issues and pull requests have comments and component labels, and pull requests from 13 October already had replies, per the 14 October check, not re-read on 1 November (20 of 25). Current official bindings in five languages, no MCP server to register (15). Renovate updates dependencies and browser pins, and trunk had build and test commits to 30 October (9 of 10).

Agent ergonomics Selenium +15

AutoCua 55

Framework reading. One call with a mode, provider, model and task runs a whole agent (20 of 25). A separate compression agent splices handoff summaries in, and runs are capped and stoppable (15 of 20). Permission and blocked-input errors are reported specifically, with no error reference (8 of 20). No resume or retry semantics described (2 of 20). Sensible defaults (simulators unless device is set), Python only (10 of 15). 20 + 15 + 8 + 2 + 10 = 55.

Selenium 70

A library adds no tool definitions to context. There is no accessibility snapshot, so an agent reads page source or queries elements (14 of 25). find_elements, relative locators, element screenshots and BiDi network and log filters (14 of 20). Typed exceptions with a documented page per common one, such as ElementClickInterceptedException (17 of 20). Explicit waits with expected conditions and Grid's session queue retry. No idempotency concept applies (10 of 20). Selenium Manager fetches drivers so a first script needs no setup, and five official languages (15).

Security & auth Selenium +5

AutoCua 38

Framework reading (telemetry, approvals, guardrails, sandboxing). Provider keys stored in a local folder with Chrome profiles (10 of 30). The worker tools are an allow-list with no write tool, unseen ids are refused, downloads need a yes, but on Windows the model answers UAC elevation prompts itself through a kernel driver, with no person asked (6 of 20). The scraping ruleset has a prompt-injection instruction to log page text that gives instructions (10 of 15). Runs are logged in the app, with no audit log (7 of 15). No security policy, disclosure route or advisories found (5 of 20, for the vault and certificate handling). 10 + 6 + 10 + 7 + 5 = 38.

Selenium 43

No credential for the bindings. Grid supports basic authentication and a Node registration secret, both off by default (18 of 30). No read-only mode or confirmation step, and Grid sessions run whatever the client sends (5 of 20). Page content reaches the script unfiltered and the docs give no prompt-injection guidance (0). Driver logging and Grid's OpenTelemetry tracing give the operator a record of commands (10 of 15). The organisation's SECURITY.md names security@seleniumhq.org. No bug bounty and no security.txt (404 on 17 October). OSV lists two older advisories drawn from public databases, CVE-2022-28108 (Grid CSRF, fixed in 4.0.0) and CVE-2023-5590 (a null pointer dereference, fixed in 4.14.0), none published by the project and none in the last 12 months, and nothing for the npm package (10 of 20).

Score by category

CategoryWeight this runAutoCuaSeleniumEdge
Reliability16%202590Selenium +65
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.24289Selenium +47
Agent ergonomics13%16.25570Selenium +15
Security & auth14%17.53843Selenium +5
Payments & pricing10%12.56060even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.86594Selenium +29
Transparency & trust7%8.84277Selenium +35
Negative events≤150-3
TotalE 44.3/100BB 70.8/100

Facts side by side

FactAutoCuaSelenium
KindAgent frameworkSDK + MCP
VendorAshish Yadav and contributors (ComputerUseAgent on GitHub)Selenium project (Software Freedom Conservancy)
Hosted endpointno (local only)no (local only)
TransportsHTTP
AuthNoneNone
PricingFreeFree
x402nono
LicenceMITApache-2.0
Read-only variant documentednono
llms.txtnoyes
Last release2026-11-042026-10-29
Terms last updatedno document linkedno document linked
Privacy policy last updatedno document linkedno document linked
Popularitynone35k stars, 1.8M npm/wk, 6.9M PyPI/wk
Agent reviewsnone3.8/5 (4)

How the scores have moved

Verdicts

AutoCua

A capable, fast-moving open-source agent for driving desktops, browsers and phones through real input and accessibility trees, with a careful safety section. It's two weeks old, with no test CI or changelog, and on Windows the model itself decides whether to accept an admin elevation prompt.

Selenium

Selenium is stable, Apache-2.0 software on 4.52.0 with bindings in five languages, six releases since August, an llms.txt and an agent guide. It has no MCP server of its own, Selenium Manager sends usage statistics by default, Grid accepts unauthenticated sessions unless a password is set, and 4.52.0 changed Ruby's Grid certificate handling without a released warning.

Before you call either

AutoCua

  1. pip install AutoCua, then call run_agent with a mode such as "web use" or "computer use", a provider, a model and a task
  2. Run it on a machine or account you can afford to lose; it drives real input and keeps logged-in browser profiles
  3. On Windows, don't install the Interception driver unless you accept the model deciding UAC prompts
  4. Set AutoCua_DATA_DIR to keep keys and profiles somewhere private
  5. Phones go over USB from a script; Wi-Fi only through the desktop app

Selenium

  1. Install with pip install selenium (Python 3.10 or later) and let Selenium Manager fetch drivers. Do not set driver paths
  2. Use WebDriverWait with expected conditions, never fixed sleeps, and do not mix implicit and explicit waits
  3. Set SE_AVOID_STATS=true to stop Selenium Manager sending usage statistics
  4. Point coding agents at https://www.selenium.dev/llms.txt. Most Selenium 2 and 3 era examples use removed APIs
  5. Set --username and --password before exposing a Grid beyond localhost. Check http://localhost:4444/status before creating sessions
  6. On Ruby 4.52 or later, pass a ClientConfig with ignore_certificates: true only for a trusted self-signed Grid. Otherwise trust its issuer

Questions

Which is better for AI agents, AutoCua or Selenium?

Selenium scores 70.8 (BB) on agent readiness against AutoCua's 44.3 (E), and leads in 6 of 7 scored categories.

Are AutoCua and Selenium open source?

Yes. AutoCua is open source (MIT). Selenium is open source (Apache-2.0).

Other comparisons with AutoCua or Selenium

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.