开源的 SeleniumBase 替代方案
SeleniumBase 是一个庞大且维护良好的 Python 自动化框架,它的 UC 模式和 CDP 模式是 Selenium 生态中最活跃的 stealth 方案。它们改变的是浏览器的驱动方式,而不是浏览器报告的内容:指纹仍然是你这台机器的。Clearcote 在引擎中修改指纹,而 SeleniumBase 可以运行在它之上。
SeleniumBase 是什么?
SeleniumBase(由 Michael Mintz 开发)是一个完整的 Python 测试与自动化框架:集成 pytest,提供测试录制器、仪表盘、MCP 服务器等众多功能。它采用 MIT 许可,GitHub 星标约 13,000 个,PyPI 月下载量约 1.4M 次,每隔几天就发布一个新版本。
它的 stealth 能力分为两种模式。UC 模式基于 undetected-chromedriver,使用修改过的驱动,在关键时刻断开 WebDriver 与浏览器的连接。CDP 模式是它的继任者,直接通过 DevTools Protocol 驱动 Chrome,也能让 Playwright 更隐蔽。两者都作用于驱动层。底层的 Chrome 是原版的,因此 canvas、WebGL、字体和硬件都是所在机器的真实信息;文档还指出,UC 模式在无头模式下可被检测到,建议在 Linux 服务器上改用 Xvfb 虚拟显示。
Clearcote 与 SeleniumBase 对比
| 功能 | Clearcote | SeleniumBase |
|---|---|---|
| 实现方式 | 引擎层面的 C++ 补丁 | 驱动层面(修改版驱动或直连 CDP) |
| 指纹身份 | 由种子生成的一致身份画像 | 主机的真实值 |
| 在 Linux 服务器上 | 官方 Docker 镜像(在 Xvfb 下以有头模式运行);身份画像遮蔽虚拟机的 GPU 和字体 | 建议在 Xvfb 下以有头模式运行;报告虚拟机的硬件 |
| TLS / 网络层 | ClientHello 跟随身份画像的 Chrome 版本 | 由本地 Chrome 决定 |
| 测试框架功能 | 无:它只是一个浏览器 | pytest、录制器、报告、仪表盘 |
| 框架 | Playwright 与 Puppeteer(Python、Node、.NET) | Selenium 和 CDP(Python) |
| 维护状态 | 活跃 | 非常活跃 |
| 费用 | 开源版构建免费;最新构建凭 GitHub 免费使用;Pro $49/月 | 免费开源(MIT) |
对比整理于 2026年9月。SeleniumBase 的许可方式:开源(MIT);细节可能会变化,请以其项目的最新信息为准。
团队为什么选择 Clearcote
改变的是浏览器,而不只是驱动
UC 模式和 CDP 模式隐藏的是自动化会话。Clearcote 改变的是浏览器本身报告的内容,这是驱动触及不到的。
为服务器打造
VPS 上的原版 Chrome 会报告软件 GPU 和服务器字体集。Clearcote 的身份画像会用一台自洽的桌面机器取而代之,并以现成的 Docker 镜像形式提供。
一台机器,多个身份
每个 --fingerprint 种子都对应一台自洽的独立机器,并行会话不会全都共享主机的指纹。
可与 SeleniumBase 搭配
SeleniumBase 可以通过 binary_location 指定自定义浏览器,因此你可以保留它的框架,在底层运行 Clearcote。
什么情况下 SeleniumBase 可能更合适
- 你需要一个完整的测试框架(pytest、录制器、报告),stealth 只是众多功能之一。
- 你在真实桌面上运行,使用主机自身的指纹没有问题。
- 或者两者结合:把 Clearcote 二进制文件作为
binary_location传入,同时保留 SeleniumBase 的 API。
常见问题
SeleniumBase UC 模式 vs Clearcote:有什么区别?
UC 模式是一个修改过的驱动,对页面隐藏 WebDriver 连接。Clearcote 是修改版 Chromium,改变的是页面读取到的指纹。两者作用于不同层面,可以同时使用。
SeleniumBase 能使用 Clearcote 浏览器吗?
可以。SeleniumBase 提供 binary_location 选项,用于指定自定义 Chromium。把它指向 Clearcote 的 download() 返回的路径,再把你的 --fingerprint 参数作为 Chrome 选项传入即可。
SeleniumBase 能在服务器上以无头模式运行吗?
它自己的文档说,UC 模式在无头模式下可被检测到,并建议在 Linux 上借助 Xvfb 虚拟显示以有头模式运行。这对任何浏览器都是合理的建议:Clearcote 的官方 Docker 镜像默认也在 Xvfb 下以有头模式运行。区别在于浏览器运行起来之后报告的内容:是服务器的真实硬件,还是一个自洽的身份画像。
相关阅读
试试这款开源 Chromium 替代方案
免费开源,可直接接入 Playwright 与 Puppeteer,一直到 TLS 握手都保持一致。
通过 GitHub 可免费使用一个浏览器。无需信用卡。