如果网站速度慢,请使用网站链接 2captcha.cn

Playwright 验证码求解器

在 Playwright 中使用最快的验证码求解服务 2Captcha,绕过 reCAPTCHAAmazonCloudflare Turnstile各种验证码

零风险。 仅为已解决的验证码付费

快速开始
Playwright 验证码求解器实际运行演示
在 Playwright 中绕过 reCAPTCHA

Playwright 验证码绕过:工作原理

2Captcha 可在 Playwright 浏览器自动化流程中自动处理验证码,使脚本无需用户手动操作即可继续执行。

流程很直接:用户从出现 challenge 的页面中提取所需的验证码参数,并将其发送到 2Captcha API。根据验证码类型不同,这些参数可能包括 sitekey、页面 URL、图片、challenge 数据或其他必填值。

2Captcha 采用 AI + 人工的混合模式处理每个任务。自动识别可更快处理常规场景,而在 challenge 需要额外判断或更高准确率时,则由人工接手。

验证码解决后,用户会收到完成目标页面验证所需的结果。结果可能是 token、点击坐标、文本答案或其他类型的返回值。随后,Playwright 会在当前浏览器会话中应用该结果,并继续执行自动化流程。

验证码绕过服务完全自动化。

该服务的 API 也可用于与 PuppeteerSelenium 配合使用。

使用 Playwright 自动处理验证码

Playwright 标志

Playwright 是一个浏览器自动化框架,可用于测试 Web 应用、执行自动化浏览器流程以及采集网站数据。在 web scraping 和自动化项目中,尽量减少明显的自动化特征,有助于让浏览器会话更接近真实用户行为,并降低被反爬系统识别的概率。

将 Playwright 与 2Captcha 服务结合使用

要在 Playwright 中处理验证码,你需要一个专用的验证码求解服务。

本指南说明如何使用 Python SDK,将 2Captcha API 与 Playwright 结合用于 web scraping 和测试。2Captcha 还支持多种编程语言,包括 JavaC#C++PHPPythonRuby。具体实现请参阅绕过说明。

使用 Playwright 通过点击方式解决 reCAPTCHA V2

此仓库演示了如何结合 reCAPTCHA solver、Playwright 库和 2Captcha 服务,自动化处理基于图片的 reCAPTCHA challenge(3x3 或 4x4 网格)。脚本会以编程方式与 reCAPTCHA 交互,提取 challenge,提交到 2Captcha 进行处理,然后按返回结果模拟人工点击。

如果你使用 Python,我们也提供了一个基于 Python 和 Selenium 的类似示例。你可以在名为 reCAPTCHA Solver Using 2Captcha and Selenium 的仓库中找到它。

安装与使用

要使用此脚本,请先克隆仓库、安装依赖并运行示例:

# Clone the repository
git clone git@github.com/2captcha/playwright-recaptcha-solver-using-grid.git
cd playwright-recaptcha-solver-using-grid

# Install dependencies
npm install

# Run the script
npm run start

配置

要使用此脚本,你需要配置 2Captcha API key。请按如下方式设置 APIKEY 环境变量:

export APIKEY=your_api_key

另外,你也可以直接在代码中设置 APIKEY。做法是修改 captchaSolver.js 文件第 7 行的 API key 值。找到设置 API key 的那一行,并将当前值替换为你的真实 key。这样适合快速测试,或者在无法使用环境变量时使用。不过在生产环境中,出于安全考虑,仍然建议使用环境变量。

你可以在自己的 2Captcha 账户 中获取 API key。

工作原理

此脚本使用 Grid 方法来解决 reCAPTCHA。流程如下:

  1. 提取 challenge:提取原始 captcha 图片及相关参数。
  2. 将数据发送到 2Captcha:把图片数据发送到 2Captcha,由其使用 grid 方法完成识别。
  3. 按结果执行点击:收到包含目标单元格编号的结果后,Playwright 脚本会与 reCAPTCHA 小组件交互,并点击指定单元格。随后点击“Verify”按钮以完成 challenge。

提取脚本成功返回的示例:

{
  rows: 3,
  columns: 3,
  type: 'GridTask',
  comment: 'Select all images with crosswalks Click verify once there are none left',
  body: 'iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0...'
}

reCAPTCHA 识别完成后的返回示例:

{ status: 1, data: 'click:3/6/8', id: '77704464585' }

在返回值 click:3/6/8 中,数字表示需要点击哪些单元格。返回 click:3/6/8 的意思是,你需要点击编号为 3、6 和 8 的 captcha 方格。编号从左上角开始。下方截图展示了 click:3/6/8 对应的实际点击位置。

通常要成功通过 captcha,大约需要处理 1–5 个 challenge,但在更复杂的情况下,任务数可能会更多。

这种方式的优点

  • 无需处理 Token:不需要手动管理或注入 token 到网页中。你只需要模拟人工点击正确区域。
  • 逻辑更简单:直接利用 reCAPTCHA 自带的校验流程,简化了 token 处理逻辑。

这种方式最大的优点是,你不需要研究如何把 token 应用到页面上。只要点击正确的方格,再点击验证按钮,后续的 reCAPTCHA 校验逻辑就会按内置流程自动完成。

通过 token 方式处理 reCAPTCHA 可能会明显更复杂。出于安全原因,网站可能会使用额外参数,例如 datas,或者实现复杂的 token 校验逻辑。在这类场景下,如果站点有意提高 token 方案的接入难度,那么这种点击式方案会更适合。

这种方式的缺点

  • 实现更复杂:需要更多代码,也需要更多时间处理交互细节。
  • 成本和速度不固定:captcha 的识别成本和耗时会随图片 challenge 的复杂度而变化。
  • 依赖浏览器自动化:要确保 reCAPTCHA 代码正常工作,必须依赖浏览器自动化。自动化流程会补齐应用 reCAPTCHA token 所需的逻辑,从而保证整个流程可以正常运行。

可能出现的错误

  • "ERROR_CAPTCHA_UNSOLVABLE":有时 captcha 对 2Captcha 来说过于困难,服务会直接返回错误。建议实现对应的错误处理逻辑,例如重试或升级处理。
  • 被 reCAPTCHA 封锁:如果同一 IP 发起过多尝试,reCAPTCHA 可能会暂时封锁请求。这种情况下,可以尝试更换 IP,或者等待几分钟后再试。当你被 reCAPTCHA 临时封禁时,会收到如下提示:Try again later. Your computer or network may be sending automated queries. To protect our users, we can't process your request right now...

如果需要更换 IP,可以使用 residential proxy 服务。

计划中的功能

  • 自动处理 captcha 更新后图片刷新的情况。
  • 使用 CSS 选择器代替绝对坐标,以实现更可靠的点击。
  • 改进错误处理,尤其是针对 "ERROR_CAPTCHA_UNSOLVABLE"。

相关链接

相关项目

最佳 Playwright 验证码解决服务

Playwright 是一个强大的框架,提供用于控制 Chromium、Firefox 和 WebKit 的 high-level API。它常被测试工程师和开发者用于高级 web scraping。你可以将 2Captcha solver extension 与 Playwright 配合使用,以高效解决验证码。

根据行业分析,2Captcha 提供了最可靠的自动化验证码绕过方案。

captchathecat
在 Playwright 中使用 2Captcha solver extension 绕过验证码

需要定制化方案?试试验证码求解 API

使用我们的 SDK 绕过验证码

如果在你的场景里,使用 Playwright 进行浏览器自动化显得过于复杂或资源开销过高,也可以选择另一种方案:构建基于请求的实现,并使用我们为多种编程语言提供的 SDK,包括 JavaC#C++PHPPythonRuby。文档可在我们的官方 GitHub 页面查看。