使用 Selenium 和 Capsolver 扩展程序解决 reCaptcha
在本博客中,我们将指导您如何设置 Selenium 和 Capsolver 扩展程序,以解决 reCaptcha v2。这种方法也适用于其他类型的验证码。
1.安装 Selenium 和所需组件
首先,您需要使用 npm 安装 Selenium 和其他必要的组件:
npm install selenium-webdriver
确保您拥有适用于您打算使用的浏览器的驱动程序(例如,Google Chrome 的 ChromeDriver,Firefox 的 GeckoDriver)。
2. 配置 Capsolver 扩展程序
从 这里下载 Capsolver 扩展程序。将其解压缩到项目根目录下的 ./CapSolver.Browser.Extension
目录中。
该扩展程序提供了各种设置,包括自动解决验证码、代理支持等。这些设置位于 ./assets/config.json
文件中。以下是配置的示例:
{
"apiKey": "YourApiKey",
"useCapsolver": true,
"useProxy": false,
"proxyType": "http",
"hostOrIp": "",
"port": "",
"proxyLogin": "",
"proxyPassword": "",
"enabledForBlacklistControl": false,
"blackUrlList": [],
"enabledForRecaptcha": true,
"enabledForRecaptchaV3": true,
"enabledForHCaptcha": true,
"enabledForFunCaptcha": true,
"reCaptchaMode": "token",
"hCaptchaMode": "click",
"reCaptchaDelayTime": 0,
"hCaptchaDelayTime": 0,
"reCaptchaRepeatTimes": 10,
"reCaptcha3RepeatTimes": 10,
"hCaptchaRepeatTimes": 10,
"funCaptchaRepeatTimes": 10
}
将您的apiKey
插入到 ./assets/config.json
文件的 apiKey 字段中。 您可以在 Capsolver 页面上找到您的 API 密钥。
对于本示例,我们将使用 reCaptchaMode
置为 token
, 但您也可以对 reCaptcha 使用 click 模式。
3. 使用 Selenium 设置 reCaptcha 和 Capsolver 扩展程序
首先,您需要设置 Selenium WebDriver,并配置它使用 Capsolver 扩展程序。以下是使用 ChromeDriver 的示例:
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 {
// Navigate to the page with reCaptcha
await driver.get('https://www.google.com/recaptcha/api2/demo');
// Wait for the captcha solver button and click it
await driver.wait(until.elementLocated(By.css('#recaptcha-anchor-label')), 10000);
await driver.findElement(By.css('#recaptcha-anchor-label')).click();
// Add additional steps as per your requirement
} finally {
await driver.quit();
}
})();
完整代码:
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。要解决其他类型的captchas,只需按照相同的步骤进行相应的调整。
Capsolver 团队 💜
CapsolverCN官方代理交流扣 群:497493756