开源的 Patchright 替代方案
Patchright 是目前维护得最好的 Playwright 补丁版:可直接替换原版,消除驱动层的自动化泄露。它不改变浏览器本身,所以网站读到的指纹仍然是你这台机器的。Clearcote 则往下深入一层,在引擎中工作,两者可以组合使用。
Patchright 是什么?
Patchright(由 Vinyzu 和 Kaliiiiiiiiii 开发)是 Playwright 的补丁版构建,支持 Python 和 Node.js,另有社区维护的 .NET 移植版。它采用 Apache-2.0 许可,紧跟 Playwright 的版本发布(撰写本文时为 1.64,与上游相同),使用量很大:PyPI 月下载量约 4M 次,npm 周下载量约 400,000 次。它只支持基于 Chromium 的浏览器。
它的补丁针对的是自动化驱动:通过在隔离的执行上下文中运行代码来避免 Runtime.enable 泄露;禁用 Console API(因此 console 事件不起作用);去掉 --enable-automation 并加上 --disable-blink-features=AutomationControlled;还能深入封闭的 shadow root。初始化脚本通过请求路由注入,README 也指出,这种方式可以通过时序被检测到。
Patchright 有意不去碰的是浏览器本身。它推荐运行真正的 Chrome,而它启动的任何 Chrome 都会报告你实际的硬件、GPU、字体和屏幕。在桌面环境下,这可能正是理想状态。但在服务器或 Docker 中,真实值就是虚拟机的值:软件 GPU、Linux 字体集、无头屏幕。而且这台机器上的所有会话都共享同一个身份。
Clearcote 与 Patchright 对比
| 功能 | Clearcote | Patchright |
|---|---|---|
| 作用层面 | 浏览器引擎(C++ / Blink) | Playwright 驱动 |
| 驱动 / CDP 泄露 | 引擎消除 Runtime.enable 泄露;启动时即使用 isolated world | 打过补丁的驱动避免调用 Runtime.enable;禁用 Console API |
| 指纹身份 | 由种子生成的一致身份画像(canvas、WebGL、字体、navigator、屏幕) | 主机的真实值 |
| 每台机器的身份数 | 每个种子一个,需要多少有多少 | 一个:机器本身 |
| 在服务器和 Docker 中 | 身份画像遮蔽虚拟机的软件 GPU 和字体 | 报告虚拟机的真实硬件 |
| TLS / 网络层 | ClientHello 跟随身份画像的 Chrome 版本 | 由所启动的 Chrome 决定 |
| 与 Playwright 版本同步 | 适配任意版本的原版 Playwright | 每个 Playwright 版本都需要对应的补丁版 |
| 语言 | Python、Node、.NET | Python、Node;.NET 通过社区移植版支持 |
| 费用 | 开源版构建免费;最新构建凭 GitHub 免费使用;Pro $49/月 | 免费开源(Apache-2.0) |
对比整理于 2026年11月。Patchright 的许可方式:开源(Apache-2.0);细节可能会变化,请以其项目的最新信息为准。
实测:12 款工具,同样的 10 个网站
我们运行了开源的 browsers-benchmark 测试框架共 5 次,最后一次于 2026年10月27日 完成。每个工具都使用独立的美国住宅 IP,且每次运行的顺序都不同。“通过”表示该框架针对该网站的自带检查找到了页面本身,而不是拦截页或验证页。 Clearcote 在 Windows 台式机上测量(最新构建);其他工具在 Linux 服务器上测量。
| 工具 | 有头 | 无头 |
|---|---|---|
| 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
不同层面,而非竞争关系
检测会读取三个地方:驱动、CDP 会话和指纹。Patchright 处理的是前两处。Clearcote 在引擎中处理指纹,其默认启动设置也顾及了 CDP 这一侧。
由你选择的身份
在原版 Chrome 上使用 Patchright 时,指纹来自你运行它的那台机器。Clearcote 为每个种子提供一台自洽的独立机器,这在服务器上最为重要,因为服务器的真实环境看起来就像一台虚拟机。
无需同步维护驱动
Clearcote 使用官方的 Playwright 和 Puppeteer 包,你可以按它们自己的节奏升级,而不必等待打过补丁的版本。
一致性直达 TLS
身份画像所声明的 Chrome 版本会一直贯彻到 TLS ClientHello,网络层因此与 JavaScript 保持一致。
什么情况下 Patchright 可能更合适
- 你在真实桌面上运行真正的 Chrome 和普通的用户配置文件,只需要消除驱动层的破绽。
- 你想要一个可直接替换 Playwright 的方案,不想额外安装任何东西。
- 或者两者一起用:Patchright 可以接受任意 Chromium 二进制文件,因此你可以保留它的驱动补丁,再通过
executable_path=clearcote.download()把 Clearcote 放在底层。
常见问题
Patchright vs Clearcote:我该用哪个?
两者解决的是不同层面的问题。Patchright 给 Playwright 驱动打补丁,让自动化会话更难被察觉。Clearcote 给浏览器打补丁,让指纹(canvas、WebGL、字体、navigator、TLS)呈现为一致的身份画像,而不是你的主机。如果问题出在指纹上,单靠 Patchright 改变不了它。
Patchright 能和 Clearcote 一起用吗?
可以。Patchright 能启动任意 Chromium 二进制文件。用 SDK 的 download() 获取 Clearcote 的路径,作为 executable_path 传入,同时带上你的 --fingerprint 参数。
Patchright 会修改浏览器指纹吗?
不会。它修改的是启动参数以及驱动与浏览器的通信方式。canvas、WebGL、字体、屏幕和硬件信息都来自你运行的 Chrome 及其所在的机器。
为什么 console.log 在 Patchright 中不起作用?
Patchright 禁用了 Console API,以避免 CDP Runtime 和 Console 域带来的一个可被检测的副作用。其 README 建议:如果需要控制台输出,可以使用 JavaScript 日志库。
补丁数是我们比较过的任何分支的两倍以上。
按方案统计编译进 Chromium 的补丁。基于脚本的工具完全不改动引擎。
隐身插件
例如 puppeteer-extra-plugin-stealth
打过补丁的驱动
例如 undetected-chromedriver、nodriver
其他 Chromium 分支
免费版与付费版构建
Clearcote Pro
r57,Chromium 156
公开的补丁数,截至 2026年10月。区间涵盖其他分支的免费版与付费版构建;Clearcote 的数字来自 Pro 版构建。
相关阅读
试试这款开源 Chromium 替代方案
免费开源,可直接接入 Playwright 与 Puppeteer,一直到 TLS 握手都保持一致。
一个浏览器免费:GitHub、银行卡验证或公司 Google 账号。绝不扣款。