# Puppeteer vs Selenium > Selenium scores 73.6 (BB) to Puppeteer's 70.6 (BB) for browser automation. Prices, MCP, x402, uptime and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/puppeteer-vs-selenium - Markdown: https://www.anchorterminal.com/compare/puppeteer-vs-selenium.md (~2,350 tokens) - Slim: https://www.anchorterminal.com/compare/puppeteer-vs-selenium.min.md (~480 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/puppeteer-vs-selenium.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-14 Selenium scores 73.6 (BB) on agent readiness against Puppeteer's 70.6 (BB), and leads in 5 of 7 scored categories. Puppeteer leads on security & auth. Both do browser automation. - Puppeteer: grade BB, 70.6/100, rank #154 of 1076. Markdown https://www.anchorterminal.com/tools/puppeteer.md · JSON https://www.anchorterminal.com/api/v1/tools/puppeteer.json - Selenium: grade BB, 73.6/100, rank #90 of 1076. Markdown https://www.anchorterminal.com/tools/selenium.md · JSON https://www.anchorterminal.com/api/v1/tools/selenium.json - Best browser automation tools for AI agents: https://www.anchorterminal.com/best/browser/index.md - All 120 browser comparisons: https://www.anchorterminal.com/compare/browser/index.md ## Which one, for what ### Puppeteer (BB) Good for: Agents that write and run Node.js scripts against Chrome or Firefox. Ahead on: - Security & auth, 52 against 43 Watch for: No MCP server, CLI or llms.txt of its own. The docs point agents to the separate chrome-devtools-mcp project ### Selenium (BB) Good for: Agents that write test or automation scripts in any of five languages, and teams with a Grid. Ahead on: - Reliability, 90 against 80 - Schema & documentation, 89 against 81 - Maintenance & community, 94 against 89 Watch for: No MCP server from the project. The docs point to community servers and say they are third-party ## Score by category | Category | Weight | Puppeteer | Selenium | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 80 | 90 | Selenium +10 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 81 | 89 | Selenium +8 | | Agent ergonomics | 13% (16.2 this run) | 67 | 70 | Selenium +3 | | Security & auth | 14% (17.5 this run) | 52 | 43 | Puppeteer +9 | | Payments & pricing | 10% (12.5 this run) | 60 | 60 | even | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 89 | 94 | Selenium +5 | | Transparency & trust | 7% (8.8 this run) | 70 | 74 | Selenium +4 | | Negative events | ≤15 | 0 | 0 | | | **Total** | | **70.6 · BB** | **73.6 · BB** | | ## Facts side by side | Fact | Puppeteer | Selenium | | --- | --- | --- | | Kind | SDK + MCP | SDK + MCP | | Vendor | Google | Selenium project (Software Freedom Conservancy) | | Hosted endpoint | no (local only) | no (local only) | | Transports | | HTTP | | Auth | None | None | | Pricing | Free | Free | | x402 | no | no | | Licence | Apache-2.0 | Apache-2.0 | | Read-only variant documented | no | no | | llms.txt | no | yes | | Last release | 2026-10-08 | 2026-10-09 | | Terms last updated | no document linked | no document linked | | Privacy policy last updated | no document linked | no document linked | | Customer content may train models | | | | Terms restrict automated access | | | | Terms restrict benchmarking | | | | Terms or service can change without notice | | | | Arbitration or class-action waiver | | | | Popularity | 96k stars, 11.5M npm/wk | 35k stars, 1.8M npm/wk, 6.9M PyPI/wk | ## Verdicts **Puppeteer.** Puppeteer is a stable, Apache-2.0 library on 25.13.0, with ten releases since 27 July 2026, typed APIs, locators that wait and retry, and accessibility snapshots an agent can read. It has no MCP server or llms.txt of its own, and 10 of the 20 most recent CI runs on main failed between 7 and 13 October 2026. **Selenium.** Selenium is stable, Apache-2.0 software on 4.51.0 with bindings in five languages, CI passing on trunk, an llms.txt and an agent guide added in September 2026. It has no MCP server of its own, Selenium Manager sends usage statistics by default, and Grid accepts unauthenticated sessions unless a username and password are set. ## Before you call either ### Puppeteer 1. Install with `npm i puppeteer`, which downloads a matching Chrome for Testing. Use `puppeteer-core` to bring your own browser 2. Prefer `page.locator()` over `page.$()`. Locators wait for the element to be visible and stable before acting 3. Read pages with `page.accessibility.snapshot({interestingOnly: true})` rather than full HTML to keep output short 4. Catch `TimeoutError` separately from `TargetCloseError`. The first can be retried, the second needs a new page or browser 5. Packages are ESM only since 25.0.0. Use `import puppeteer from 'puppeteer'` rather than `require` ### 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 ## Questions ### Which is better for AI agents, Puppeteer or Selenium? Selenium scores 73.6 (BB) on agent readiness against Puppeteer's 70.6 (BB), and leads in 5 of 7 scored categories. Puppeteer leads on security & auth. ### Are Puppeteer and Selenium open source? Yes. Puppeteer is open source (Apache-2.0). Selenium is open source (Apache-2.0). ## For agents - This comparison as JSON: https://www.anchorterminal.com/compare/puppeteer-vs-selenium.json, and with the fewest tokens: https://www.anchorterminal.com/compare/puppeteer-vs-selenium.min.md - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "puppeteer", "b": "selenium"}`. From a terminal: `anchor compare puppeteer selenium` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/puppeteer.json and https://www.anchorterminal.com/api/v1/tools/selenium.json ## Other comparisons with Puppeteer or Selenium - [agent-browser vs Puppeteer](https://www.anchorterminal.com/compare/agent-browser-vs-puppeteer.md) - [agent-browser vs Selenium](https://www.anchorterminal.com/compare/agent-browser-vs-selenium.md) - [Airtop vs Puppeteer](https://www.anchorterminal.com/compare/airtop-vs-puppeteer.md) - [Airtop vs Selenium](https://www.anchorterminal.com/compare/airtop-vs-selenium.md) - [Anchor Browser vs Puppeteer](https://www.anchorterminal.com/compare/anchor-browser-vs-puppeteer.md) - [Anchor Browser vs Selenium](https://www.anchorterminal.com/compare/anchor-browser-vs-selenium.md) - [Browser Use vs Puppeteer](https://www.anchorterminal.com/compare/browser-use-vs-puppeteer.md) - [Browser Use vs Selenium](https://www.anchorterminal.com/compare/browser-use-vs-selenium.md) - [Browserbase vs Puppeteer](https://www.anchorterminal.com/compare/browserbase-vs-puppeteer.md) - [Browserbase vs Selenium](https://www.anchorterminal.com/compare/browserbase-vs-selenium.md) - [Browserless vs Puppeteer](https://www.anchorterminal.com/compare/browserless-vs-puppeteer.md) - [Browserless vs Selenium](https://www.anchorterminal.com/compare/browserless-vs-selenium.md) - [Chrome DevTools MCP vs Puppeteer](https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-puppeteer.md) - [Chrome DevTools MCP vs Selenium](https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-selenium.md) - [Hyperbrowser vs Puppeteer](https://www.anchorterminal.com/compare/hyperbrowser-vs-puppeteer.md) - [Hyperbrowser vs Selenium](https://www.anchorterminal.com/compare/hyperbrowser-vs-selenium.md) - [Notte vs Puppeteer](https://www.anchorterminal.com/compare/notte-vs-puppeteer.md) - [Notte vs Selenium](https://www.anchorterminal.com/compare/notte-vs-selenium.md) - [Playwright MCP vs Puppeteer](https://www.anchorterminal.com/compare/playwright-mcp-vs-puppeteer.md) - [Playwright MCP vs Selenium](https://www.anchorterminal.com/compare/playwright-mcp-vs-selenium.md) - [Puppeteer (archived MCP reference server) vs Selenium](https://www.anchorterminal.com/compare/puppeteer-reference-server-archived-vs-selenium.md) - [Puppeteer vs Puppeteer (archived MCP reference server)](https://www.anchorterminal.com/compare/puppeteer-vs-puppeteer-reference-server-archived.md) - [Puppeteer vs Skyvern](https://www.anchorterminal.com/compare/puppeteer-vs-skyvern.md) - [Puppeteer vs Steel](https://www.anchorterminal.com/compare/puppeteer-vs-steel.md) - [Puppeteer vs TinyFish](https://www.anchorterminal.com/compare/puppeteer-vs-tinyfish.md) - [Selenium vs Skyvern](https://www.anchorterminal.com/compare/selenium-vs-skyvern.md) - [Selenium vs Steel](https://www.anchorterminal.com/compare/selenium-vs-steel.md) - [Selenium vs TinyFish](https://www.anchorterminal.com/compare/selenium-vs-tinyfish.md)