开源的 undetected-chromedriver 替代方案
undetected-chromedriver 每月下载量仍有约 2.5M 次,但它的最后一个版本发布于 2024 年 2 月。它在原版 Chrome 上隐藏 Selenium/ChromeDriver 的痕迹,却完全不涉及指纹或网络层。Clearcote 在引擎中同时修改这两者。
undetected-chromedriver 是什么?
undetected-chromedriver(由 ultrafunkamsterdam 开发)是一个 Python 库,通过给 Selenium 的 ChromeDriver 打补丁来去除明显的自动化破绽。它会清除注入的 cdc_ 变量,去掉 --enable-automation 之类的启动参数,然后驱动一个真实、未经修改的 Chrome。它采用 GPL-3.0 许可,GitHub 星标约 12,900 个,PyPI 月下载量至今仍有约 2.5M 次。
它的开发已经放缓。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年11月。undetected-chromedriver 的许可方式:开源(GPL-3.0);细节可能会变化,请以其项目的最新信息为准。
实测:12 款工具,同样的 10 个网站
我们运行了开源的 browsers-benchmark 测试框架共 5 次,最后一次于 2026年10月27日 完成。每个工具都使用独立的美国住宅 IP,且每次运行的顺序都不同。“通过”表示该框架针对该网站的自带检查找到了页面本身,而不是拦截页或验证页。 Clearcote 在 Windows 台式机上测量(最新构建);其他工具在 Linux 服务器上测量。
undetected-chromedriver 不在此次基准测试中:该测试框架没有它的驱动。表格列出的是框架支持的工具。
| 工具 | 有头 | 无头 |
|---|---|---|
| Clearcote0.63.2 · r52 | 78%39/50 | 80%40/50 |
| Camoufox0.5.8 · v156.0.1-beta.36 | 72%36/50 | 80%40/50 |
| Invisible Playwright0.43.0 · Firefox | 76%38/50 | 78%39/50 |
| CloakBrowser0.6.4 | 74%37/50 | 64%32/50 |
| SeleniumBase (CDP mode)4.49.0 · Chrome | 74%37/50 | — |
| nodriver0.50.6 · Chrome | 74%37/50 | 40%20/50 |
| Zendriver0.17.1 · Chrome | 64%32/50 | 60%30/50 |
| tf-playwright-stealth (Firefox)1.2.0 | 58%29/50 | 62%31/50 |
| tf-playwright-stealth (Chromium)1.2.0 | 56%28/50 | 50%25/50 |
| Playwright (Chromium)1.62.0 | 56%28/50 | 30%15/50 |
| Playwright (Firefox)1.62.0 | 54%27/50 | 54%27/50 |
| Patchright1.64.3 · Chrome | 24%12/50 | 26%13/50 |
网站:搜索结果页, 社区论坛, 软件公司网站, 奢侈品零售商, 电商平台商品页, 票务网站, 时装零售商, 旅行预订网站, 航空公司, 社交网络。 这只是一个网络环境、一周时间内的快照:结果会随每次发布、每个代理以及网站本身而变化,而且没有任何工具每次都能加载每个网站。原始结果(JSON)。
团队为什么选择 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 年 7 月以来也没有任何提交。它仍然可以安装,使用也很广泛,但作者的新工作都投入到了 nodriver 上。
undetected-chromedriver 足以规避检测吗?
面对宽松或较老的检测,往往够用。面对严格的系统,它有结构上的天花板:它隐藏了 ChromeDriver 痕迹,但运行的是原版 Chrome,因此引擎的指纹和 TLS/HTTP-2 层都没有改变。
Clearcote 有什么不同?
undetected-chromedriver 是在你平常使用的 Chrome 之上给 Selenium 驱动打补丁。Clearcote 是修改版 Chromium:指纹在引擎中修改(原生,在 worker 和 iframe 之间保持一致),TLS/HTTP-2 协议栈也跟随所声明的 Chrome 版本。
补丁数是我们比较过的任何分支的两倍以上。
按方案统计编译进 Chromium 的补丁。基于脚本的工具完全不改动引擎。
隐身插件
例如 puppeteer-extra-plugin-stealth
打过补丁的驱动
例如 undetected-chromedriver、nodriver
其他 Chromium 分支
免费版与付费版构建
Clearcote Pro
r57,Chromium 156
公开的补丁数,截至 2026年10月。区间涵盖其他分支的免费版与付费版构建;Clearcote 的数字来自 Pro 版构建。
相关阅读
试试这款开源 Chromium 替代方案
免费开源,可直接接入 Playwright 与 Puppeteer,一直到 TLS 握手都保持一致。
一个浏览器免费:GitHub、银行卡验证或公司 Google 账号。绝不扣款。