WebDriver BiDi extends browser automation with a two-way communication channel: instead of only sending commands and receiving responses, an automation client can also subscribe to browser events delivered over a WebSocket. That makes it possible to observe activity such as log messages or navigation without repeatedly polling. It is an evolving W3C standard, not a universal replacement for classic WebDriver or browser-specific protocols.
What WebDriver BiDi is
The W3C defines the BiDirectional WebDriver Protocol as a mechanism for remotely controlling user agents. In practical terms, it connects an automation client to a browser and adds an event stream to the familiar command-and-response model. The W3C specification remains a Working Draft dated 30 September 2026, so its design and implementation are still evolving. W3C WebDriver BiDi Working Draft
As an Amazon Associate I earn from qualifying purchases.
With classic WebDriver, a client generally sends an HTTP request to perform an action and receives a response. BiDi uses WebSocket-based communication: clients can issue asynchronous commands and subscribe to events that the browser sends as activity occurs. MDN describes this event-driven model as a distinction from classic WebDriver’s HTTP request/response communication. MDN WebDriver BiDi reference
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallWhat BiDi can enable
The protocol’s intended scope includes browser and session management, script execution, network monitoring, DOM interaction, browser API emulation, and browser events. Design examples include listening for DOM events, receiving console messages and JavaScript errors, intercepting requests or mocking backends, recording traffic, collecting performance timings, and injecting bootstrap scripts. These are protocol goals and examples, not a guarantee that every browser, driver, and client library supports each capability in the same way. W3C WebDriver BiDi explainer
#1 Best Overall
Why the event stream matters
For an event-driven test, a client can subscribe and react when a relevant event arrives rather than repeatedly asking whether it has happened. That can make browser activity easier to observe and can support faster failure handling—for example, reacting to a JavaScript error. It does not, by itself, establish that a test suite will run faster or be more reliable; those outcomes depend on the implementation and test design.
WebDriver BiDi compared with classic WebDriver and CDP
| Approach | Communication and standardization | Practical consideration |
|---|---|---|
| Classic WebDriver | Primarily HTTP command/request and response. | Existing command-based automation remains relevant. The BiDi design calls for gradual interoperability with classic WebDriver commands. |
| WebDriver BiDi | WebSocket-based bidirectional communication, including browser events; defined by a W3C protocol that is currently a Working Draft. | Check the exact browser, driver, framework, module, and command coverage you need. It is not established as a drop-in replacement for every existing flow. |
| Chrome DevTools Protocol (CDP) | A browser-specific protocol rather than the shared W3C BiDi protocol. | CDP remains useful for Chrome-specific automation and may still be required for features not covered by your BiDi stack. |
BiDi’s standardization aims to make useful browser automation capabilities more interoperable, but a shared protocol does not mean every implementation exposes identical features. Compare required commands and events, framework behavior, and any CDP-only dependency before choosing a migration path.
Rank #2
Browser and framework support: check the exact stack
There is no single yes-or-no support answer that applies across browsers and tools. Availability depends on browser and driver versions, the framework, and the particular BiDi module or command. The W3C repository links to compatibility data, the evolving specification, and the test suite; consult its current compatibility information and verify the features your tests use. W3C WebDriver BiDi repository
One dated example illustrates why framework defaults matter: on 7 August 2024, Chrome for Developers reported production-ready BiDi support in Firefox 129 and Puppeteer 23. In that report, Puppeteer used BiDi by default for Firefox, while Chrome automation continued to default to CDP unless BiDi was explicitly requested. This is an example from that date, not a complete 2026 compatibility matrix. Chrome for Developers: Firefox support in Puppeteer with WebDriver BiDi
Rank #3
How to evaluate or adopt BiDi
- List the capabilities your tests actually need. Name specific events and commands—such as log events, navigation notifications, or network interception—instead of treating “BiDi support” as one feature.
- Check the live compatibility information. Use the links in the W3C repository to inspect browser and module support, then confirm the applicable versions for your driver and client framework.
- Verify the framework’s protocol behavior. Check whether BiDi is enabled automatically or requires explicit selection, and whether any existing tests depend on CDP-specific behavior.
- Try a narrow event-driven test. Subscribe to one relevant event, such as logs or navigation, in the exact browser/driver/framework combination you deploy. Confirm that the event is delivered when expected and that your test handles errors and session teardown.
- Migrate incrementally. Keep classic WebDriver commands where they serve the test, and move only the observation or control needs that your BiDi implementation supports. Retain another protocol where a required capability is unavailable.
Because the specification and implementation coverage change, pin and record the versions used by your test environment. Recheck compatibility when upgrading a browser, driver, or framework rather than assuming that support observed in one combination carries over to another.
Using browser screenshots alongside BiDi
BiDi can support browser automation and observation; a screenshot service addresses a different task: capturing a rendered page as an image or PDF without building and operating a browser-capture setup yourself. For a developer who needs clean website captures as well as automation, ScreenshotNeo is a separate option: it is a website screenshot API and MCP server, not a BiDi implementation. Its documented behavior includes handling cookie/consent banners, newsletter popups, and chat widgets before capture, with each cleanup step configurable.
Or skip the browser setup
One GET request can return a screenshot or PDF; this cURL example saves a WebP screenshot. See the ScreenshotNeo documentation for parameters and response details.
Rank #4
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo removes cookie banners, popups, and chat widgets before the shot; bot checks, blank pages, and failed loads are never billed. Its MCP server lets AI agents take screenshots. The Free plan includes 1,000 screenshots a month with no card, and paid plans start at $5 for 3,000. Sign up for ScreenshotNeo’s free plan.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Limitations and practical trade-offs
- Working Draft status: The W3C document dated 30 September 2026 is not a finalized Recommendation, and the protocol continues to evolve.
- Uneven feature coverage: Support for the protocol overall does not establish support for the particular module, event, or command your test needs.
- Protocol coexistence: BiDi does not automatically eliminate the need for classic WebDriver commands or CDP-specific capabilities.
- No general performance guarantee: An event stream can remove the need to poll for certain browser events, but the available sources do not establish a universal speed or reliability advantage.
Frequently Asked Questions
Does WebDriver BiDi replace Selenium or classic WebDriver?
No. BiDi is a browser automation communication protocol, and its design allows gradual interoperability with classic WebDriver commands. Whether a particular Selenium workflow can use BiDi depends on the relevant implementation and features.
Best Value
Is WebDriver BiDi the same as Chrome DevTools Protocol?
No. BiDi is the W3C-defined protocol; CDP is browser-specific. Some frameworks may use one by default and allow the other to be selected.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Quick Recap
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.




