Skip to content

A puppeteer-extra plugin that implements CapMonster support for puppeteer-extra-plugin-recaptcha.

License

Notifications You must be signed in to change notification settings

notsapinho/puppeteer-extra-plugin-recaptcha-capmonster

Repository files navigation

CapMonster provider for puppeteer-extra-plugin-recaptcha!

This is a plugin for puppeteer-extra-plugin-recaptcha that implements CapMonster provider to the solver.

Install

npm i puppeteer-extra-plugin-recaptcha-capmonster
# - or -
yarn add puppeteer-extra-plugin-recaptcha-capmonster

Usage

const puppeteer = require("puppeteer-extra");
const { default: RecaptchaPlugin, BuiltinSolutionProviders } = require("puppeteer-extra-plugin-recaptcha");
const CapMonsterProvider = require("puppeteer-extra-plugin-recaptcha-capmonster");

CapMonsterProvider.use(BuiltinSolutionProviders);

puppeteer.use(
	RecaptchaPlugin({
		provider: {
			id: "capmonster",
			token: "XXXXXXX" // REPLACE THIS WITH YOUR OWN CAPMONSTER API KEY ⚡
		},
		visualFeedback: true // colorize reCAPTCHAs (violet = detected, green = solved)
	})
);

// puppeteer usage as normal
puppeteer.launch({ headless: true }).then(async (browser) => {
	const page = await browser.newPage();
	await page.goto("https://www.google.com/recaptcha/api2/demo");

	// That's it, a single line of code to solve reCAPTCHAs 🎉
	await page.solveRecaptchas();

	await Promise.all([page.waitForNavigation(), page.click(`#recaptcha-demo-submit`)]);
	await page.screenshot({ path: "response.png", fullPage: true });
	await browser.close();
});

Credits