---
title: "机器人检测基准测试：Donut Browser 对比 Playwright — Donut Browser"
description: "Donut Browser 的 Wayfern 引擎与 Playwright、Puppeteer 及隐身工具在验证码、反机器人和指纹测试中的实测结果，附原始数据。"
url: "https://donutbrowser.com/zh/benchmark/"
---

1. [首页](https://donutbrowser.com/zh/)

2. 基准测试

# 机器人检测基准测试

Donut Browser 的 Wayfern 引擎和另外 8 款浏览器与自动化工具运行了相同的 28 项机器人检测测试。每个单元格是在同一台电脑、同一网络上运行 5 次的结果。

Donut Browser 通过了 28 项测试中的 26 项。 测量日期：2026年10月15日

查看全部结果

下载 JSON

每道门代表一项检测服务。对勾表示通过，叉号表示未通过。

Donut Browser 通过了所示 8 项检测服务中的 8 项：reCAPTCHA v3 score、Turnstile, non-interactive widget、Kasada、Fingerprint bot detection、DataDome、HUMAN (PerimeterX)、Akamai edge和BrowserScan bot detection。 Playwright Chromium (headless) 通过了 8 项中的 3 项。

## 各工具通过的测试数

一项测试至少 80% 的运行通过才算通过。没有结果的测试不计入该工具的总数。

1. Donut Browser Wayfern 152.0.7977.64 (Chromium) · 有界面

28 项中 26 项

2. Patchright 隐身工具 · 有界面

28 项中 24 项

3. nodriver 隐身工具 · 有界面

28 项中 24 项

4. Camoufox 隐身工具 · 有界面

28 项中 21 项

5. CloakBrowser 隐身工具 · 有界面

27 项中 20 项 1 项无结果

6. Puppeteer + stealth plugin 隐身工具 · 无头

28 项中 16 项

7. Playwright Chromium (headed) 自动化库 · 有界面

28 项中 15 项

8. Google Chrome + Playwright 自动化库 · 有界面

28 项中 15 项

9. Playwright Chromium (headless) 自动化库 · 无头

28 项中 8 项

## 实测胜出

只有数据中有对应结果时，这里才会显示标志。

### 已通过的检测服务

Wayfern 通过了这些服务的全部已测项目。

- reCAPTCHA reCAPTCHA v3 score · 0.9 所有工具均通过

- Cloudflare Turnstile, non-interactive widget · 4/5 Turnstile, managed widget · 4/5 Cloudflare challenge page · 4/5

- Kasada Kasada · 5/5 所有工具均通过

- Fingerprint Fingerprint bot detection · 5/5 Fingerprint tampering · 5/5

- DataDome DataDome · 5/5

- HUMAN HUMAN (PerimeterX) · 5/5

- Akamai Akamai edge · 5/5

- BrowserScan BrowserScan bot detection · 5/5

- deviceandbrowserinfo Device and Browser Info bot test · 0

- Sannysoft bot.sannysoft.com · 0

- CreepJS CreepJS headless · 0% CreepJS like-headless · 25% CreepJS lies · 0

- Pixelscan Pixelscan bot check · 5/5 Pixelscan masking · 5/5 Pixelscan consistency · 5/5

- iphey iphey · 5/5

未通过：hCaptcha和incolumitas。对应的行在下方表格中。

### 被超过的工具

在两个工具都运行过的测试中，Wayfern 通过得更多。

- Playwright Chromium (headless) 28 项中 26 比 8 Wayfern 通过，Playwright Chromium (headless) 未通过： Cloudflare challenge page、Fingerprint bot detection、DataDome、HUMAN (PerimeterX)、Akamai edge、BrowserScan bot detection、Device and Browser Info bot test、bot.sannysoft.com、CreepJS headless、CreepJS like-headless、Pixelscan bot check、Pixelscan consistency、iphey、navigator.webdriver、CDP automation (Runtime.enable)、Bot user agent (HeadlessChrome)、navigator.plugins.length和TLS and HTTP/2 fingerprint

- Playwright Chromium (headed) 28 项中 26 比 15 Wayfern 通过，Playwright Chromium (headed) 未通过： Cloudflare challenge page、Fingerprint bot detection、BrowserScan bot detection、Device and Browser Info bot test、bot.sannysoft.com、CreepJS headless、Pixelscan bot check、Pixelscan consistency、iphey、navigator.webdriver和CDP automation (Runtime.enable)

- Google Chrome + Playwright 28 项中 26 比 15 Wayfern 通过，Google Chrome + Playwright 未通过： Cloudflare challenge page、Fingerprint bot detection、BrowserScan bot detection、Device and Browser Info bot test、bot.sannysoft.com、CreepJS headless、Pixelscan bot check、Pixelscan consistency、iphey、navigator.webdriver和CDP automation (Runtime.enable)

- Puppeteer + stealth plugin 28 项中 26 比 16 Wayfern 通过，Puppeteer + stealth plugin 未通过： Cloudflare challenge page、Fingerprint bot detection、Device and Browser Info bot test、CreepJS headless、CreepJS lies、Pixelscan masking、Pixelscan consistency、iphey、CDP automation (Runtime.enable)和TLS and HTTP/2 fingerprint

- Patchright 28 项中 26 比 24 Wayfern 通过，Patchright 未通过： Pixelscan consistency和iphey 见注意事项 2

- nodriver 28 项中 26 比 24 Wayfern 通过，nodriver 未通过： Pixelscan consistency和iphey 见注意事项 2

- Camoufox 28 项中 26 比 21 Wayfern 通过，Camoufox 未通过： DataDome、Fingerprint tampering、bot.sannysoft.com、Pixelscan masking和Pixelscan consistency

- CloakBrowser 27 项中 25 比 20 Wayfern 通过，CloakBrowser 未通过： Fingerprint tampering、Device and Browser Info bot test、CreepJS lies、Pixelscan masking和Pixelscan consistency

## 全部结果

行是测试，列是工具。打开一项测试可查看每次运行、通过规则、来源页面和截图。

按类别筛选 全部 验证码 反机器人 指纹 自动化特征 网络

通过

未通过

无数据 带对勾的实心圆：通过。带叉号的圆环：未通过。虚线圆环：无数据。

全部结果. 带对勾的实心圆：通过。带叉号的圆环：未通过。虚线圆环：无数据。

| 测试 | Donut Browser Wayfern 152.0.7977.64 (Chromium) · 有界面 | Playwright Chromium (headless) 自动化库 · 无头 | Playwright Chromium (headed) 自动化库 · 有界面 | Google Chrome + Playwright 自动化库 · 有界面 | Puppeteer + stealth plugin 隐身工具 · 无头 | Patchright 隐身工具 · 有界面 | nodriver 隐身工具 · 有界面 | Camoufox 隐身工具 · 有界面 | CloakBrowser 隐身工具 · 有界面 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 验证码 |
| reCAPTCHA v3 score Google | 通过: 0.9 | 通过: 0.9 | 通过: 0.9 | 通过: 0.9 | 通过: 0.9 | 通过: 0.9 | 通过: 0.9 | 通过: 0.9 | 通过: 0.9 |
| Turnstile, non-interactive widget Cloudflare | 通过: 4/5 | 通过: 5/5 | 通过: 5/5 | 通过: 4/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 4/5 | 通过: 5/5 |
| Turnstile, managed widget Cloudflare | 通过: 4/5 | 通过: 4/5 | 通过: 5/5 | 通过: 4/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 4/5 | 通过: 5/5 |
| hCaptcha | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 |
| 反机器人 |
| Cloudflare challenge page Cloudflare | 通过: 4/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 |
| Kasada | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 |
| Fingerprint bot detection Fingerprint | 通过: 5/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 |
| DataDome | 通过: 5/5 | 未通过: 0/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 未通过: 2/5 | 通过: 5/5 |
| HUMAN (PerimeterX) HUMAN Security | 通过: 5/5 | 未通过: 0/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 |
| Akamai edge Akamai | 通过: 5/5 | 未通过: 0/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 |
| 指纹 |
| Fingerprint tampering Fingerprint | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 未通过: 2/5 | 未通过: 1/5 |
| BrowserScan bot detection BrowserScan | 通过: 5/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 |
| Device and Browser Info bot test deviceandbrowserinfo.com | 通过: 0 | 未通过: 7 | 未通过: 5 | 未通过: 5 | 未通过: 4 | 通过: 0 | 通过: 0 | 通过: 0 | 未通过: 1 |
| bot.sannysoft.com sannysoft | 通过: 0 | 未通过: 12 | 未通过: 1 | 未通过: 1 | 通过: 0 | 通过: 0 | 通过: 0 | 未通过: 1 | 通过: 0 |
| bot.incolumitas.com incolumitas | 未通过: 1 | 未通过: 13 | 未通过: 3 | 未通过: 3 | 未通过: 3 | 未通过: 1 | 未通过: 1 | 未通过: 1 | 未通过: 2 |
| CreepJS headless CreepJS | 通过: 0% | 未通过: 100% | 未通过: 33% | 未通过: 33% | 未通过: 33% | 通过: 0% | 通过: 0% | 通过: 0% | 通过: 0% |
| CreepJS like-headless CreepJS | 通过: 25% | 未通过: 88% | 通过: 31% | 通过: 31% | 通过: 25% | 通过: 25% | 通过: 19% | 通过: 0% | 通过: 25% |
| CreepJS lies CreepJS | 通过: 0 | 通过: 0 | 通过: 0 | 通过: 0 | 未通过: 2 | 通过: 0 | 通过: 0 | 通过: 0 | 未通过: 3 |
| Pixelscan bot check Pixelscan | 通过: 5/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 |
| Pixelscan masking Pixelscan | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 未通过: 0/5 | 通过: 5/5 | 通过: 5/5 | 未通过: 3/5 | 未通过: 0/5 |
| Pixelscan consistency Pixelscan | 通过: 5/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 3/5 | 未通过: 0/5 |
| iphey | 通过: 5/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 通过: 5/5 | 错误 |
| 自动化特征 |
| navigator.webdriver | 通过: 5/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 |
| CDP automation (Runtime.enable) | 通过: 5/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 未通过: 0/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 |
| Bot user agent (HeadlessChrome) | 通过: 5/5 | 未通过: 0/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 |
| window.chrome object | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 |
| navigator.plugins.length | 通过: 5 | 未通过: 0 | 通过: 5 | 通过: 5 | 通过: 5 | 通过: 5 | 通过: 5 | 通过: 5 | 通过: 5 |
| 网络 |
| TLS and HTTP/2 fingerprint tls.peet.ws | 通过: 5/5 | 未通过: 0/5 | 通过: 5/5 | 通过: 5/5 | 未通过: 0/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 | 通过: 5/5 |
| 通过数 | 26 /28 | 8 /28 | 15 /28 | 15 /28 | 16 /28 | 24 /28 | 24 /28 | 21 /28 | 20 /27 |

对比工具 Playwright Chromium (headless) Playwright Chromium (headed) Google Chrome + Playwright Puppeteer + stealth plugin Patchright nodriver Camoufox CloakBrowser

### 验证码

- reCAPTCHA v3 score

Donut Browser: 通过: 0.9

Playwright Chromium (headless): 通过: 0.9

- Turnstile, non-interactive widget

Donut Browser: 通过: 4/5

Playwright Chromium (headless): 通过: 5/5

- Turnstile, managed widget

Donut Browser: 通过: 4/5

Playwright Chromium (headless): 通过: 4/5

- hCaptcha

Donut Browser: 未通过: 0/5

Playwright Chromium (headless): 未通过: 0/5

### 反机器人

- Cloudflare challenge page

Donut Browser: 通过: 4/5

Playwright Chromium (headless): 未通过: 0/5

- Kasada

Donut Browser: 通过: 5/5

Playwright Chromium (headless): 通过: 5/5

- Fingerprint bot detection

Donut Browser: 通过: 5/5

Playwright Chromium (headless): 未通过: 0/5

- DataDome

Donut Browser: 通过: 5/5

Playwright Chromium (headless): 未通过: 0/5

- HUMAN (PerimeterX)

Donut Browser: 通过: 5/5

Playwright Chromium (headless): 未通过: 0/5

- Akamai edge

Donut Browser: 通过: 5/5

Playwright Chromium (headless): 未通过: 0/5

### 指纹

- Fingerprint tampering

Donut Browser: 通过: 5/5

Playwright Chromium (headless): 通过: 5/5

- BrowserScan bot detection

Donut Browser: 通过: 5/5

Playwright Chromium (headless): 未通过: 0/5

- Device and Browser Info bot test

Donut Browser: 通过: 0

Playwright Chromium (headless): 未通过: 7

- bot.sannysoft.com

Donut Browser: 通过: 0

Playwright Chromium (headless): 未通过: 12

- bot.incolumitas.com

Donut Browser: 未通过: 1

Playwright Chromium (headless): 未通过: 13

- CreepJS headless

Donut Browser: 通过: 0%

Playwright Chromium (headless): 未通过: 100%

- CreepJS like-headless

Donut Browser: 通过: 25%

Playwright Chromium (headless): 未通过: 88%

- CreepJS lies

Donut Browser: 通过: 0

Playwright Chromium (headless): 通过: 0

- Pixelscan bot check

Donut Browser: 通过: 5/5

Playwright Chromium (headless): 未通过: 0/5

- Pixelscan masking

Donut Browser: 通过: 5/5

Playwright Chromium (headless): 通过: 5/5

- Pixelscan consistency

Donut Browser: 通过: 5/5

Playwright Chromium (headless): 未通过: 0/5

- iphey

Donut Browser: 通过: 5/5

Playwright Chromium (headless): 未通过: 0/5

### 自动化特征

- navigator.webdriver

Donut Browser: 通过: 5/5

Playwright Chromium (headless): 未通过: 0/5

- CDP automation (Runtime.enable)

Donut Browser: 通过: 5/5

Playwright Chromium (headless): 未通过: 0/5

- Bot user agent (HeadlessChrome)

Donut Browser: 通过: 5/5

Playwright Chromium (headless): 未通过: 0/5

- window.chrome object

Donut Browser: 通过: 5/5

Playwright Chromium (headless): 通过: 5/5

- navigator.plugins.length

Donut Browser: 通过: 5

Playwright Chromium (headless): 未通过: 0

### 网络

- TLS and HTTP/2 fingerprint

Donut Browser: 通过: 5/5

Playwright Chromium (headless): 未通过: 0/5

## 测试方法

所有工具都在同一台电脑、同一网络上运行相同的测试。每项测试都写明了读取的内容和通过的条件。

电脑

Windows 11 Home 25H2 (build 26200) CPU: AMD Ryzen 9 8940HX, 32 threads GPU: NVIDIA GeForce RTX 5070 Laptop GPU

网络

A fresh US residential exit (New York area) for every browser session, from one pool of three accounts that every tool used

每个单元格的运行次数

5

通过规则

单元格至少 80% 的运行通过即为通过。

日期

2026年10月15日

### 注意事项

1. The computer is in UTC+4 and every proxy exit is in New York. Wayfern, Camoufox and CloakBrowser use the time zone of the exit; stock Playwright, Chrome + Playwright, Puppeteer stealth, Patchright and nodriver keep UTC+4 by default.

2. Pixelscan consistency, iphey and the VPN signal of Fingerprint flag a time zone that does not match the IP address. On a computer in the time zone of the exit, the tools that keep UTC+4 could score higher on Pixelscan consistency and iphey.

3. Tools that do not manage WebRTC send it outside the proxy. A page that reads WebRTC can then see the IP address of the computer.

4. Camoufox and CloakBrowser ran from 03:51 to 04:40 UTC on 15 October, about 2 hours after the other seven tools (23:06 to 01:46 UTC). They used the same computer and proxy pool.

5. Camoufox picks a random operating system for each launch by default. Its runs show Windows and macOS user agents.

6. CloakBrowser ran its free Chromium 146 binary, because the latest binary needs a sign-in. Fingerprint and Pixelscan report its launch() context as incognito, and iphey never finished a scan for it.

7. A run lost to a timeout, a network error or a page with no verdict is an error. Errors do not count as fails, and each one ran again in a new session.

### 版本与启动设置

| 工具 | 引擎 | 模式 | 启动设置 |
| --- | --- | --- | --- |
| [Donut Browser](https://donutbrowser.com) | Wayfern 152.0.7977.64 (Chromium) | 有界面 | Wayfern engine via Playwright persistent context, headed, Windows fingerprint from the engine, time zone, locale and geolocation set to the proxy exit |
| [Playwright Chromium (headless)](https://playwright.dev) | Chromium 156.0.8078.4 headless shell | 无头 | chromium.launch() defaults, headless, proxy only |
| [Playwright Chromium (headed)](https://playwright.dev) | Chromium 156.0.8078.4 | 有界面 | chromium.launch({ headless: false }), proxy only |
| [Google Chrome + Playwright](https://www.google.com/chrome/) | Google Chrome 155.0.8059.80 | 有界面 | chromium.launch({ channel: "chrome", headless: false }), proxy only |
| [Puppeteer + stealth plugin](https://github.com/berstend/puppeteer-extra) | Chrome for Testing 155.0.8059.79 | 无头 | puppeteer-extra with puppeteer-extra-plugin-stealth defaults, launch({ headless: true }) as in its README, proxy only |
| [Patchright](https://github.com/Kaliiiiiiiiii-Vinyzu/patchright) | Google Chrome 155.0.8059.80 | 有界面 | launchPersistentContext with channel "chrome", headless false, viewport null, no custom user agent (README best practice) |
| [nodriver](https://github.com/ultrafunkamsterdam/nodriver) | Google Chrome 155.0.8059.80 | 有界面 | nodriver.start() defaults with installed Chrome, headed, proxy flag only |
| [Camoufox](https://camoufox.com) | Camoufox 156.0.1-beta.36 (Firefox) | 有界面 | AsyncCamoufox(headless=False, geoip=True, humanize=True) with the proxy |
| [CloakBrowser](https://github.com/CloakHQ/CloakBrowser) | CloakBrowser Chromium 146.0.7680.177 | 有界面 | launch({ proxy, geoip: true, headless: false, humanize: true }) as in its README, free binary (no account) |

### 未测量

以下测试和单元格没有结果，原因写在各项旁边。

- **AWS WAF Bot Control** No public page was found that shows an AWS WAF bot verdict on a page load.

- **Arkose Labs** It runs on sign-in and sign-up forms only. Reading it needs a form submission.

- **Commercial anti-detect browsers and cloud browser services** They need an account.

- **CloakBrowser latest binary (Chromium 154)** It needs a GitHub sign-in. The free binary (Chromium 146) was tested.

- **undetected-chromedriver** nodriver, its successor from the same author, was tested.

- **CloakBrowser · iphey** No verdict: the iphey scan did not finish within 60 s in 6 of 6 loads (the page stayed on its loading state).

### 原始数据

一个 JSON 文件（128 kB）包含每个单元格的每次运行、各版本和电脑信息。本页由该文件生成。

下载 JSON `/benchmark/results.json`

## 常见问题

“通过”是什么意思？

按照测试行中的规则，检测服务在至少 80% 的运行中接受了该浏览器：reCAPTCHA 看分数阈值，扫描页面看判定结果，标记列表要求零个标记。这是所示日期的结果。网站仍可能因 IP 地址或页面上的行为等其他原因拦截访问。

为什么和原版 Playwright 对比？

大多数自动化从原版 Playwright 或 Puppeteer 起步，隐身工具和反检测浏览器通常是下一步。表中所有工具都运行了相同的测试。

测试的是哪个 Wayfern 版本？

Wayfern 152.0.7977.64 (Chromium)，即 Donut Browser 应用安装的版本，由 Playwright 控制，使用生成的 Windows 指纹。每个工具的版本见“测试方法”中的表格和 JSON 文件。

我能自己核对结果吗？

可以。JSON 文件包含每次运行，每项测试都链接到公开的测试页面。在 Donut Browser 配置文件中打开相同页面即可对比。本站免费的机器人检测工具也会在你自己的浏览器中运行类似检查。

Wayfern 有没有未通过的测试？

有。本次测量中 Wayfern 未通过：hCaptcha和bot.incolumitas.com。hCaptcha 向每个工具都出了图片验证，同一台电脑上由 Playwright 控制的有界面 Microsoft Edge 也一样，所以这一行无法区分各工具。bot.incolumitas.com 的旧版 WEBDRIVER 检查会标记所有带 navigator.webdriver 属性的 Chromium 浏览器，所以任何 Chromium 工具在这里都拿不到 0。这些行保留在表格中。

为什么有些单元格没有数据？

当测试不适用于该引擎，或所有运行都因超时、频率限制或崩溃而丢失时，单元格就没有数据。“未测量”列表写明了每一项的原因。

## 在 Wayfern 上运行你的配置文件

Donut Browser 可免费下载。每个配置文件都有自己的指纹，以及自己的代理或 VPN。

[下载 Donut Browser](https://donutbrowser.com/zh/#download)

- [机器人检测工具](https://donutbrowser.com/zh/tools/bot-detection)

- [在 Playwright 中使用 Wayfern](https://donutbrowser.com/docs/wayfern)

- [自动化](https://donutbrowser.com/zh/use-cases/automation)
