Patchright — Playwright 的免检测补丁版

一句话版本

Patchright 是一个被"打过补丁"的 Playwright——不是改浏览器底层代码,而是魔改了 Playwright 自动化框架本身,去掉那些会让反爬系统识别出自动化工具的 CDP 协议特征(比如 Runtime.enable 这个 CDP 调用泄漏)。改一行 import 就能用,比 CloakBrowser 轻量,但效果稍弱一些。

核心内容

它和 CloakBrowser 有什么不同?

这是理解 Patchright 的关键。

维度CloakBrowser**Patchright**
改了什么Chromium 浏览器 C++ 源码(58 个补丁)Playwright 自动化框架(TypeScript 补丁)
二进制自带~200MB 特殊编译的 Chromium用系统 Chrome 或 Playwright 自带 Chromium
补丁层级浏览器二进制层框架 + CDP 协议层
大小pip/npm 包 + ~200MB 二进制纯 Python 包,无额外二进制
核心补丁指纹伪造(GPU/Canvas/WebGL 等)CDP 协议泄漏修复

简单说:CloakBrowser = 假 Chrome,Patchright = 真 Chrome + 真 Playwright 但改掉了被检测的协议特征

Patchright 的 5 个关键补丁

补丁说明代价
Runtime.enable 泄漏修复避免 Playwright 启动时这个 CDP 调用——反爬系统通过检测这个来识别 Playwright✅ 最大的贡献
Console.enable 泄漏修复禁用 Console API,防止被扫描❌ console 不能用了
命令行参数泄漏修复添加 `--disable-blink-features=AutomationControlled`,移除 `--enable-automation` 等✅ 无害
常规泄漏修复修复 Playwright 代码库中其他可检测点
Closed Shadow Roots能操作封闭的 shadow DOM 元素✅ 有用的功能优势

核心设计思路

Patchright 的作者认为反爬检测的核心不是浏览器指纹,而是自动化协议特征。很多反爬系统(尤其是 Cloudflare)不检测 navigator.webdriver,而是检测 Playwright 在 CDP 握手时发出的特定调用序列(比如 Runtime.enable)。

所以它的策略是:

1. 不修改 Chromium 本身——用系统安装的 Chrome(channel=chrome),天然就有真实 Chrome 的 TLS 指纹

2. 只修改 Playwright 的 CDP 调用方式——避免触发协议级检测

3. 依赖真实 Chrome 的指纹——Chrome 148 的 TLS 指纹本身就是最有效的伪装

独立测试数据

Ian Paterson 基准测试(2026年5月):7 款工具 × 31 个反爬目标

工具通过数说明
nodriver**28/31**直接 CDP 驱动 Chrome,无 Playwright
CloakBrowser26/31源码级 C++ 补丁
**Patchright****25/31**与 Camoufox 持平
vanilla Playwright24/31基线
rebrowser24/31已停滞

关键发现:

Send.win 对比(2026年6月)

检测服务Playwright-StealthPatchright
Cloudflare 标准挑战~70-80% 通过~90-95% 通过
Cloudflare Turnstile~40-55% 通过~70-80% 通过
DataDome~30-50% 通过~55-70% 通过
PerimeterX/HUMAN~25-40% 通过~50-65% 通过
Akamai Bot Manager~35-50% 通过~55-70% 通过
CreepJS部分通过,可见覆盖痕迹更干净

已知局限

1. Console API 完全不可用——这是最严重的功能牺牲

2. Chromium 只——不支持 Firefox/WebKit

3. 版本滞后——每次 Playwright 更新后需要等待 Patchright 跟进,通常数天到数周

4. 非 100% Playwright API 兼容——已知 bug 列表(issue #30),部分测试不通过

5. InitScripts 存在理论检测风险——使用 Playwright Routes 注入 JS,理论上可通过 Timing Attack 检测(但当前无反爬实现)

6. Tier 3 检测(TLS 指纹/行为分析)依然无效——所有补丁类工具的共性问题

商业模式

与 CloakBrowser 的对比(基于我们的报告)

维度CloakBrowserPatchright
思路改浏览器本身改自动化框架
手法58 个 C++ 补丁,编译进二进制TypeScript 补丁,运行时生效
独立测试26/31 OK25/31 OK
二进制大小~200MB无额外二进制
协议层修复❌ Playwright 协议指纹未修复✅ Runtime.enable 泄漏是核心
macOS 支持❌ 滞后 2 个月✅ 依赖系统 Chrome,天然支持
功能影响❌ Console API 不可用
更新节奏CloakHQ 维护,Chromium 升级需跟踪 Playwright 上游
Stars~13.5k~3.2k
许可MIT + 二进制自定义Apache 2.0

结论:Patchright 和 CloakBrowser 是互补而非替代关系。CloakBrowser 解决浏览器指纹,Patchright 解决自动化协议指纹。理想方案是两者结合(但目前没有直接整合)。

评分

维度评分说明
创新性⭐⭐⭐⭐CDP 协议级补丁思路有原创性,尤其是 Runtime.enable 修复
实用性⭐⭐⭐⭐pip/npm 安装,改一行 import,但 console 不能用是硬伤
性能⭐⭐⭐⭐⭐无额外二进制开销,零重量
效果⭐⭐⭐⭐比 Playwright-Stealth 好很多,但不如 CloakBrowser 和 nodriver
成熟度⭐⭐⭐已知 bug 较多,版本滞后,个人项目维护
社区⭐⭐⭐3.2k stars,活跃但规模小,个人作者驱动
文档⭐⭐⭐⭐README 完整,patch 有详细说明
**综合****⭐⭐⭐⭐****轻量级 Playwright 隐身方案,适合 CDP 协议指纹为主要障碍的场景**

扩展阅读