CAPSOLVER
博客
如何通过Selenium使用JavaScript解决reCaptcha v2验证码通过Capsolver扩展

如何使用Selenium [JavaScript] 通过Capsolver扩展解决reCaptcha v2

Logo of CapSolver

Ethan Collins

Pattern Recognition Specialist

14-Oct-2025

reCaptcha 求解 Selenium

使用 Selenium 和 Capsolver 插件解决 reCaptcha

在本文中,我们将指导您如何设置 Selenium 与 Capsolver 插件来解决 reCaptcha v2。此方法也可用于其他类型的验证码。

1. 安装 Selenium 和所需组件

首先,您需要安装 Selenium 和其他必要的组件。您可以使用 npm 进行安装:

复制代码
npm install selenium-webdriver

请确保您已安装所使用浏览器的相应驱动程序(例如,Google Chrome 的 ChromeDriver,Firefox 的 GeckoDriver)。

2. 配置 Capsolver 插件

此处下载 Capsolver 插件。将其解压到项目根目录下的 ./CapSolver.Browser.Extension 文件夹中。

该插件提供各种设置,包括自动验证码解决、代理支持等。这些设置位于 ./assets/config.json 中。以下是配置示例:

json 复制代码
{
  "apiKey": "YourApiKey",
  "useCapsolver": true,
  "useProxy": false,
  "proxyType": "http",
  "hostOrIp": "",
  "port": "",
  "proxyLogin": "",
  "proxyPassword": "",
  "enabledForBlacklistControl": false,
  "blackUrlList": [],
  "enabledForRecaptcha": true,
  "enabledForRecaptchaV3": true,
  "enabledForcaptcha": true,
  "enabledForcaptcha": true,
  "reCaptchaMode": "token",
  "captchaMode": "click",
  "reCaptchaDelayTime": 0,
  "captchaDelayTime": 0,
  "reCaptchaRepeatTimes": 10,
  "reCaptcha3RepeatTimes": 10,
  "captchaRepeatTimes": 10,
  "captchaRepeatTimes": 10
}

./assets/config.jsonapiKey 字段中插入您的 API 密钥。您可以在 Capsolver 页面上找到您的 API 密钥。

在此示例中,我们将使用 reCaptchaMode 设置为 token,但您也可以使用 click 模式来处理 reCaptcha。

3. 使用 Capsolver 插件设置 Selenium 解决 reCaptcha

首先,您需要设置 Selenium WebDriver 并配置它以使用 Capsolver 插件。以下是使用 ChromeDriver 的示例:

javascript 复制代码
const { Builder } = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');
const path = require('path');

(async function solveCaptcha() {
  let options = new chrome.Options();
  options.addArguments(`--load-extension=${path.join(__dirname, 'CapSolver.Browser.Extension')}`);

  let driver = await new Builder()
    .forBrowser('chrome')
    .setChromeOptions(options)
    .build();

  try {
    // 导航到包含 reCaptcha 的页面
    await driver.get('https://www.google.com/recaptcha/api2/demo');

    // 等待验证码解决按钮并点击它
    await driver.wait(until.elementLocated(By.css('#recaptcha-anchor-label')), 10000);
    await driver.findElement(By.css('#recaptcha-anchor-label')).click();

    // 根据您的需求添加其他步骤

  } finally {
    await driver.quit();
  }
})();

完整代码:

javascript 复制代码
const { Builder, By, until } = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');
const path = require('path');

(async function solveCaptcha() {
  let options = new chrome.Options();
  options.addArguments(`--load-extension=${path.join(__dirname, 'CapSolver.Browser.Extension')}`);

  let driver = await new Builder()
    .forBrowser('chrome')
    .setChromeOptions(options)
    .build();

  try {
    await driver.get('https://site.example');
    await driver.wait(until.elementLocated(By.css('#recaptcha-anchor-label')), 10000);
    await driver.findElement(By.css('#recaptcha-anchor-label')).click();
  } finally {
    await driver.quit();
  }
})();

就是这样!您已成功使用 Capsolver 插件和 Selenium 解决了 reCaptcha v2。要解决其他类型的验证码,请遵循相同的步骤并进行相应调整。

Capsolver 团队 💜

合规声明: 本博客提供的信息仅供参考。CapSolver 致力于遵守所有适用的法律和法规。严禁以非法、欺诈或滥用活动使用 CapSolver 网络,任何此类行为将受到调查。我们的验证码解决方案在确保 100% 合规的同时,帮助解决公共数据爬取过程中的验证码难题。我们鼓励负责任地使用我们的服务。如需更多信息,请访问我们的服务条款和隐私政策。

更多