What WebBrowser is your OpenClaw/dBot using?
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: