开源的 undetected-chromedriver 替代方案
undetected-chromedriver 每月下载量仍有约 2M 次,但它的最后一个版本发布于 2024 年 2 月。它在原版 Chrome 上隐藏 Selenium/ChromeDriver 的痕迹,却完全不涉及指纹或网络层。Clearcote 在引擎中同时修改这两者。
undetected-chromedriver 是什么?
undetected-chromedriver(由 ultrafunkamsterdam 开发)是一个 Python 库,通过给 Selenium 的 ChromeDriver 打补丁来去除明显的自动化破绽。它会清除注入的 cdc_ 变量,去掉 --enable-automation 之类的启动参数,然后驱动一个真实、未经修改的 Chrome。它采用 GPL-3.0 许可,GitHub 星标约 12,800 个,PyPI 月下载量至今仍有约 2M 次。
它的开发已经放缓。PyPI 上的最后一个版本(3.5.5)发布于 2024 年 2 月,作者的精力已经转向继任项目 nodriver。它的天花板一直在于只隐藏驱动。Chrome 引擎是原版的,所以 canvas、WebGL、字体以及整个 navigator 接口都取决于你的机器报告什么,TLS 和 HTTP/2 指纹也取决于那个 Chrome 发出什么。对 Selenium 用户来说,SeleniumBase 的 UC 模式是积极维护的后继方案。
Clearcote 与 undetected-chromedriver 对比
| 功能 | Clearcote | undetected-chromedriver |
|---|---|---|
| 实现方式 | 引擎层面的 C++ 补丁:原生值 | 原版 Chrome 上打过补丁的 chromedriver |
| 指纹控制 | 一致的身份画像(canvas、WebGL、字体、navigator) | 主机的真实值 |
| TLS / 网络层一致性 | 跟随所声明的 Chrome(JA3/JA4 + HTTP/2) | 由本地 Chrome 决定 |
| 框架 | Playwright 与 Puppeteer(Python、Node、.NET),CDP | Selenium(Python) |
| 维护状态 | 活跃 | 最后一次发布于 2024 年 2 月 |
| 许可证 | 开源版构建:BSD-3 | GPL-3.0(copyleft) |
| 费用 | 开源版构建免费;最新构建凭 GitHub 免费使用 | 免费开源 |
对比整理于 2026年9月。undetected-chromedriver 的许可方式:开源(GPL-3.0);细节可能会变化,请以其项目的最新信息为准。
团队为什么选择 Clearcote
没有需要掩盖的痕迹
undetected-chromedriver 会给驱动的破绽改名,但浏览器的其余部分仍是原版。引擎层面的补丁直接修改原生值,从一开始就没有可供检测的注入内容。
网络层也不例外
它把 TLS 和 HTTP/2 交给你运行的 Chrome 自行处理。Clearcote 让握手与所声明的 Chrome 版本相匹配,这是驱动补丁触及不到的一层。
跨 realm 一致
原生值在主 frame、Web Worker 和跨域 iframe 中都保持一致,而驱动和 JavaScript 技巧往往会在这些地方露出不一致。
基于当前 Chromium 持续维护
Chrome 和检测手段每隔几周就会变化。Clearcote 基于当前的 Chromium 发布;undetected-chromedriver 自 2024 年初以来就没有发布过新版本。
什么情况下 undetected-chromedriver 可能更合适
- 你已有一个用了它的 Selenium 脚本,只需要去掉 ChromeDriver 的破绽。
- 你的目标网站检测宽松,而且你不想管理任何浏览器二进制文件。
- 如果你打算长期使用 Selenium,SeleniumBase 是有人维护的路线。
常见问题
undetected-chromedriver 还在维护吗?
它在 PyPI 上的最后一个版本 3.5.5 发布于 2024 年 2 月,仓库自 2025 年年中以来也很少有动静。它仍然可以安装,使用也很广泛,但作者的新工作都投入到了 nodriver 上。
undetected-chromedriver 足以规避检测吗?
面对宽松或较老的检测,往往够用。面对严格的系统,它有结构上的天花板:它隐藏了 ChromeDriver 痕迹,但运行的是原版 Chrome,因此引擎的指纹和 TLS/HTTP-2 层都没有改变。
Clearcote 有什么不同?
undetected-chromedriver 是在你平常使用的 Chrome 之上给 Selenium 驱动打补丁。Clearcote 是修改版 Chromium:指纹在引擎中修改(原生,在 worker 和 iframe 之间保持一致),TLS/HTTP-2 协议栈也跟随所声明的 Chrome 版本。
相关阅读
试试这款开源 Chromium 替代方案
免费开源,可直接接入 Playwright 与 Puppeteer,一直到 TLS 握手都保持一致。
通过 GitHub 可免费使用一个浏览器。无需信用卡。