This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Warnings

Explanations for the diagnostics, annotations, and IDE warnings Selenium surfaces.

Selenium marks some APIs so your IDE or compiler can warn you about how they’re meant to be used. These pages explain what each warning means and what to use instead.

1 - BiDi implementation API is internal

Why Selenium’s low-level BiDi implementation classes are marked internal, and what to use instead.

If your IDE strikes through a Selenium BiDi class or method, shows an “Internal API” tooltip, or (in .NET) emits a compiler warning, you’ve reached one of Selenium’s internal BiDi implementation APIs.

These are the low-level classes that map directly onto the BiDi (and CDP) wire protocol, under namespaces like org.openqa.selenium.bidi.* (Java), OpenQA.Selenium.BiDi.* (.NET), selenium.webdriver.common.bidi.* (Python), and Selenium::WebDriver::BiDi::* (Ruby). They are public only because the higher-level features need them.

Why they are marked internal

The goal is for the high-level APIs to cover everything you need, so you never have to reach for these low-level classes directly. They are marked internal to steer you toward those high-level APIs — but they remain available as an escape hatch if you have a use case the high-level APIs don’t yet cover.

What to use instead

Use the high-level BiDi APIs:

If your use case is only possible through the internal classes, please open an issue so the high-level API can cover it.