Understand the current state of WebDriver BiDi and decide when to use it over CDP or WebDriver Classic

domain: w3c.github.io · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Understand the positioning: WebDriver BiDi is a W3C standard bidirectional protocol designed to bring CDP-like capabilities (event subscriptions, script evaluation, network interception) to all browsers under one API, replacing per-vendor protocols.
  2. Check browser support before committing — as of 2025, Chromium-based browsers and Firefox have meaningful BiDi support, but WebKit/Safari support is still catching up. Verify the feature matrix on the WebDriver BiDi spec repository before relying on a specific command.
  3. Use BiDi when you need a standards-based cross-browser automation protocol and your target browsers support the features you need — particularly for new tooling built to be browser-agnostic.
  4. Prefer CDP directly (via Puppeteer or raw WebSocket) when you need Chromium-specific features not yet in the BiDi spec, or when you need the most complete and stable implementation today.
  5. In Playwright, BiDi is used internally for Firefox; for end users the Playwright API abstracts the protocol — you do not write BiDi commands directly unless building tooling at the driver layer.

Known gotchas

Related routes

Assess WebDriver BiDi's current standardization and browser-support status before migrating a Selenium or Puppeteer suite off classic WebDriver/CDP
w3c.github.io · 5 steps · unrated
Check Puppeteer's documented WebDriver BiDi support before relying on it, since Chrome and Firefox support differ and some CDP-parity features aren't yet implemented over BiDi
pptr.dev · 5 steps · unrated
Subscribe to WebDriver BiDi's console/log module during a Selenium BiDi session to capture browser console messages and JavaScript errors as they occur
selenium.dev · 6 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans