What Is SeleniumBase? β Definition and How It Works
Learn what SeleniumBase adds to Selenium, how UC Mode and CDP Mode differ, and when a framework layer is worth adopting over plain WebDriver.
SeleniumBase is a Python framework built on Selenium WebDriver. It keeps WebDriver underneath and adds the parts most teams end up writing themselves: waiting, test structure, reporting, and β the reason it appears in scraping discussions β modes that reduce automation tells.
1. What the Framework Layer Provides
Plain Selenium leaves waiting to the caller, which is the origin of most flaky suites. SeleniumBase waits before acting on an element by default, so self.click("#submit") already includes the presence-and-interactability check that raw WebDriver makes you write.
Around that it adds test-runner integration, dashboards and reports, recorded-test generation, and a command-line surface for browser, headless mode, and proxy selection. None of it is unavailable in Selenium; it is packaged rather than assembled.
2. UC Mode
UC Mode β "undetected Chromedriver" mode β launches Chromium with the driver artefacts and launch flags that mark an automated session removed or masked. It is the descendant of the undetected-chromedriver approach, integrated into the framework.
It also exposes helpers for the pattern that matters most in practice: opening a page, letting a challenge settle, and reconnecting the driver afterwards, so the driver is not attached during the moment a challenge script inspects the page.
3. CDP Mode
CDP Mode goes further and drives Chromium over the DevTools Protocol rather than through WebDriver, closer to what a driver-free library does. Within a SeleniumBase script it lets specific interactions bypass the driver entirely while the surrounding suite keeps its familiar structure.
The two modes answer different questions. UC Mode asks how to make a WebDriver session look ordinary; CDP Mode asks how to avoid using WebDriver for the sensitive step at all.
4. When the Layer Earns Its Place
SeleniumBase suits teams with an existing WebDriver investment β Grid infrastructure, Selenium-shaped test code, or a language and tooling choice already settled β that want better waiting and a stealth option without changing libraries.
It suits new projects less well. Starting fresh against Chromium, a direct CDP library is simpler and has fewer moving parts than a framework wrapping a driver wrapping a browser.
5. The Usual Caveat
Neither mode addresses fingerprints or IP reputation. UC Mode removes driver evidence; the browser still reports its real hardware and locale, and the request still arrives from whatever address you configured. Proxy support is a convenience for pointing at an egress, not a source of clean addresses.
6. Summary
SeleniumBase is Selenium plus the framework most teams build anyway, with two stealth-oriented modes: UC Mode for a less conspicuous WebDriver session, CDP Mode for stepping around WebDriver where it matters. It is the pragmatic choice when WebDriver is already a constraint, and it leaves fingerprint and proxy strategy to you.