Skip to content

[Feature]: Allow to configure the protocol (juggler or webDriverBiDi) when launching the browser #37277

@whimboo

Description

@whimboo

🚀 Feature Request

Now that WebDriver BiDi implements many of the requirements needed by Playwright, it would be great to see early adoption from users. Real-world feedback would be invaluable in helping us prioritize future API additions and enhancements.

I recently attempted to migrate another project from using Firefox with Juggler to WebDriver BiDi. However, it failed when trying to import _bidiFirefox from the playwright module. Besides the import issue itself, the use of the underscore prefix (_bidiFirefox) is also problematic. It typically indicates an internal or non-public API, which makes its usage feel unsupported or fragile.

Would it be possible to introduce a more stable and ergonomic way to choose between Juggler and WebDriver BiDi, perhaps via the launch options? For example, a protocol option could be added, allowing values like juggler (default) or webdriverBiDi. Internally, this would determine whether the firefox or _bidiFirefox browser class is instantiated. But maybe there is another option preferred by you?

Example

No response

Motivation

This type of setup worked well for us during the experimental phase with Puppeteer and would likely improve usability and adoption here as well.

@yury-s what do you think?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions