Web Automation

What Is selenium-driverless?

What Is selenium-driverless? - conceptual illustration
On this page

selenium-driverless is an open-source Python framework that drives Chrome over the Chrome DevTools Protocol (CDP) directly, without launching the separate chromedriver executable. It exposes an API intentionally similar to Selenium's so existing Selenium users can adopt it, while the underlying transport is CDP rather than the classic WebDriver protocol. Because there is no chromedriver in the loop, the artifacts that binary normally injects are not present. It is maintained by Aurin Aegerter (GitHub user kaliiiiiiiiii).

Quick facts

LanguagePython
TransportChrome DevTools Protocol - no chromedriver binary
APISelenium-like (though moving away from Selenium syntax)
LicenseCC BY-NC-SA 4.0 - non-commercial use only
StatusEarly-stage; author labels it for educational use

The driverless approach

Standard Selenium drives Chrome through chromedriver, a WebDriver server binary associated with two commonly cited automation markers: the navigator.webdriver property being true, and the cdc_-prefixed variables chromedriver injects into the page. selenium-driverless removes that binary from the loop and speaks CDP straight to a Chrome instance. With no chromedriver present, the cdc_ artifacts it would inject are not there, and the framework can control whether navigator.webdriver is exposed. It also supports CDP-native capabilities such as multiple tabs and isolated incognito contexts with separate storage.

How it compares to other tools

In structure it is close to Puppeteer and Playwright, which also use protocol-level control rather than WebDriver, but it presents a deliberately Selenium-flavoured surface so Selenium users feel at home - though the project notes it is moving away from Selenium syntax over time. Compared with the nodriver family, it shares the no-chromedriver, direct-CDP idea but comes from a different author and keeps a more Selenium-like API. All of these tools converge on the same insight: removing the WebDriver layer removes the artifacts that layer introduces.

License and maturity caveats

Two things to weigh before adopting it. The license is Creative Commons Attribution-NonCommercial-ShareAlike 4.0 - a non-commercial license, not a standard open-source software license - and the project defines a commercial-use threshold above which a separate paid license is required. That makes it materially different from the permissively or GPL-licensed tools in this space, so check it against your use. And the author labels it for educational purposes with an API still in flux, so treat it as research-grade rather than production-stable. As ever, it changes what the browser exposes, not your IP or TLS fingerprint.

Code example

python
# selenium-driverless drives Chrome over CDP with a Selenium-like API and no
# chromedriver binary, so the cdc_ artifacts that binary injects are absent.
from selenium_driverless import webdriver
import asyncio

async def main():
    async with webdriver.Chrome() as driver:
        await driver.get('https://example.com')
        print(await driver.title)

asyncio.run(main())

# License: CC BY-NC-SA 4.0 (non-commercial). The author labels it for
# educational use, and the API is still changing - treat as research-grade.

Related terms

What Is nodriver?
nodriver is an open-source, asynchronous Python library that drives Chrome directly over the Chrome DevTools Protocol (CDP), with no Seleniu…
What Is undetected-chromedriver?
undetected-chromedriver is an open-source Python library that provides a patched version of Selenium's ChromeDriver. It is a near drop-in re…
What Is CDP Detection?
CDP detection is the family of techniques anti-bot scripts use to tell that a browser is being driven through the Chrome DevTools Protocol (…
What Is Selenium?
Selenium is the original cross-browser automation framework — the W3C WebDriver standard predates Puppeteer by a decade. In plain terms, it …
What Is Headless Browser Detection?
Headless browser detection is the set of probes anti-bot systems use to distinguish a headless or instrumented Chrome session from a real us…
What Is Puppeteer?
Puppeteer is Google's Node.js library for driving a Chromium browser from code, over the Chrome DevTools Protocol (CDP) - the same channel C…
What Is zendriver?
zendriver is an open-source, community-maintained fork of nodriver. It keeps the same fundamental design - an async-first Python framework t…
What Is rebrowser-patches?
rebrowser-patches is an open-source set of drop-in patches for Puppeteer and Playwright that changes how those libraries set up their CDP ex…
What Is puppeteer-extra-plugin-stealth?
puppeteer-extra-plugin-stealth is an open-source plugin for the puppeteer-extra wrapper that bundles a collection of independent "evasion mo…

Concept map

How selenium-driverless connects

The terms most directly tied to this one. Hover a node to see its neighbours, click to preview, drag to rearrange.

0 terms · 0 connections
You are here · Web Automation
Building map…

Frequently asked questions

What is selenium-driverless?

It is an open-source Python framework that drives Chrome directly over the Chrome DevTools Protocol without the separate chromedriver binary, using an API intentionally similar to Selenium's. Removing chromedriver means the cdc_ artifacts it injects are not present.

How is it different from regular Selenium?

Regular Selenium drives Chrome through the chromedriver WebDriver binary, which injects cdc_ variables and sets navigator.webdriver. selenium-driverless speaks CDP straight to Chrome with no chromedriver, so those artifacts are absent, while keeping a Selenium-style API.

Can I use selenium-driverless commercially?

Its license is Creative Commons Attribution-NonCommercial-ShareAlike 4.0, which is non-commercial. The project defines a commercial-use threshold above which a separate paid license is required, so review the license terms against your intended use before adopting it.

Is selenium-driverless production-ready?

The author labels it for educational purposes and its API is still changing, so it is best treated as research-grade rather than production-stable. Like other tools of its kind, it changes what the browser exposes but not your IP or TLS fingerprint.

Last updated: 2026-06-15