Top 10 Browsers for Headless Ubuntu 22.04 (Bot/Automation Use)
Ranked for automation, Playwright compatibility, and minimal install environments:
#1. Chromium — Best overall. Built-in headless mode, best CDP support, Playwright default.
#2. Google Chrome (stable) — Better site compatibility on some auth flows vs Chromium.
#3. Firefox — Strong Playwright/Selenium support, more stable headless in edge cases.
#4. Brave is Chromium-based, so it works with CDP and Playwright — you just have to point Playwright
#5. Playwright's bundled Chromium — Auto-managed, versioned, zero config. Best if already using
Playwright.
#6. Playwright's bundled Firefox — Same benefit, Firefox engine.
#7. Playwright's bundled WebKit — Lightweight, good for simple scraping.
#8. Chrome for Testing — Google's pinned automation-specific build. No auto-updates breaking things.
#9. ungoogled-chromium — Privacy-stripped Chromium, useful for avoiding bot detection.
#10. Lynx — Text-only, ultra-minimal. Only useful for plain HTML scraping, no JS.
#11. PhantomJS — Deprecated/dead but still runs legacy scripts. Avoid for new builds.
---
Watch Out For:
--no-sandbox is required in Docker but is a security risk on shared hosts
Docker default shared memory (64MB) crashes Chromium under load — add --shm-size=1gb
Upgrading Playwright pins new browser versions — re-run playwright install after upgrades
Each Chromium instance uses 200-400MB RAM — plan accordingly for multi-bot setups
Standard headless Chromium is easily fingerprinted — use playwright-stealth if hitting bot-detection sites
---
Brave belongs on the list.
Why it got left off: Brave doesn't have native Playwright/Selenium support out of the box — it requires manual path configuration to use as a Chromium substitute. So it got filtered out mentally as "extra steps." That's a valid tradeoff to know, not a reason to ignore it.
Where Brave fits:
Brave is Chromium-based, so it works with CDP and Playwright — you just have to point Playwright at the Brave binary manually:
pythonbrowser = playwright.chromium.launch(executable_path="/usr/bin/brave-browser")
Reasons to use it over standard Chromium:
Built-in ad/tracker blocking — reduces page noise and speeds up loads
Better bot detection evasion out of the box vs vanilla Chromium
Fingerprinting protections baked in (useful for Polymarket-type sites)
Shields can be toggled off per-session if they interfere with scraping
Reasons to skip it:
Not in Ubuntu's default apt repos — requires manual PPA setup
Brave updates can shift the binary path and break your launch config
Shields occasionally block content you actually want to scrape
Slightly more overhead than bare Chromium for pure headless work
Revised ranking: Brave would slot in at #3 or #4 if bot detection evasion is a priority for your ClawBot use case, bumping Firefox down a spot.