Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
World desk3 min

What Is WebDriver BiDi and How Does It Work with Puppeteer?

WebDriver BiDi enables two-way browser automation. See how Puppeteer selects it for Firefox and Chrome and what to verify before using it.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

WebDriver BiDi is a W3C browser-automation protocol that lets a client send commands to a browser and receive browser events over a bidirectional connection. Puppeteer supports it with Firefox and Chrome: Firefox uses BiDi by default, while Chrome uses Chrome DevTools Protocol (CDP) unless you explicitly select BiDi. Support is not feature-complete, so check the APIs your project relies on before switching.

What WebDriver BiDi is

WebDriver BiDi (bidirectional) is a protocol for remotely controlling browsers. Traditional WebDriver is organized around commands and responses. BiDi adds a channel through which the browser can send events to the automation client as they occur. That makes event-driven workflows possible without requiring every observation to be requested through a separate polling command. It does not mean every operation is faster, or that every browser supports every protocol module equally.

As an Amazon Associate I earn from qualifying purchases.

The W3C specification describes BiDi as a way for events to stream from the user agent to controlling software, reflecting the evented nature of the browser DOM. The specification is currently a Working Draft, not a finalized Recommendation; its status and contents can change.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How the BiDi connection works

BiDi organizes browser commands and events into protocol modules and uses a WebSocket connection for two-way communication. In a WebDriver session, the client requests the webSocketUrl capability with the value true. The remote end then creates the connection and returns its URL in the session capabilities. The specification also describes BiDi-only sessions, where the WebSocket endpoint is provided out of band.

  1. The automation client starts or connects to a browser session and requests BiDi access.
  2. The browser provides a WebSocket endpoint for the session.
  3. The client sends commands over that connection; browser events can also arrive over it.

That model is useful when automation needs to react to browser events, but the protocol alone does not guarantee that a given browser implements every module or command.

Enable WebDriver BiDi in Puppeteer

Puppeteer’s current Next documentation says it supports WebDriver BiDi automation with Firefox and Chrome. The launch defaults differ: Firefox uses BiDi by default, while Chrome uses CDP unless you select BiDi explicitly.

import puppeteer from 'puppeteer';

const firefoxBrowser = await puppeteer.launch({
  browser: 'firefox', // WebDriver BiDi is used by default.
});

const chromeBrowser = await puppeteer.launch({
  browser: 'chrome',
  protocol: 'webDriverBiDi', // CDP would be used by default for Chrome.
});

Use the same page APIs you otherwise use in Puppeteer, but confirm that each API is supported over the selected protocol. If a Puppeteer operation is unavailable over BiDi, Puppeteer may throw UnsupportedOperation. Consult the Puppeteer WebDriver BiDi support guide for its current supported and unsupported method lists; the Next documentation can change.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What works—and what may not

The Puppeteer guide lists support for many common workflows, including navigation, page evaluation, selectors and locators (with an ARIA exception), input, dialog handling, screenshots and PDF generation with parameter limits, permissions, and request interception. It also identifies unsupported operations and gaps involving areas such as emulation, CDP-specific APIs, accessibility, coverage, tracing, and request or response helpers.

  • Check API-level coverage: Match the guide’s supported and unsupported lists against methods your test suite actually calls. A broad feature category may still have parameter limits or exceptions.
  • Check browser and protocol together: Firefox’s default and Chrome’s default are different; selecting BiDi for Chrome does not imply identical support across browsers.
  • Keep the standard’s status in mind: the W3C document is a Working Draft and may be updated, replaced, or obsoleted.

For a project that depends on CDP-only features, retaining Chrome’s default CDP protocol may be more practical. If you need BiDi, test the exact browser versions and Puppeteer methods used by your application rather than assuming full parity.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If your goal is simply to capture website screenshots, ScreenshotNeo offers a one-request screenshot API rather than requiring you to launch and configure a browser through Puppeteer. For example, this cURL request saves a WebP screenshot of Stripe:

Rank #3
The SQL Programming Language: .
  • Used Book in Good Condition
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo API documentation for request options. ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before capture; bot checks, blank pages, and failed loads are never billed. It also provides an MCP server so AI agents can take screenshots. The free plan includes 1,000 screenshots a month with no card, and paid plans start at $5 for 3,000 screenshots. Sign up for free.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Frequently Asked Questions

Does enabling WebDriver BiDi in Puppeteer make every browser operation event-driven?

No. BiDi provides a bidirectional command-and-event connection, but individual operations and events depend on the browser and Puppeteer’s support for the selected protocol.

Is WebDriver BiDi a finalized W3C standard?

No. The W3C specification identified here is a Working Draft.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.