puppeteer-extra-plugin-recaptcha-capmonster

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

Usage no npm install needed!

<script type="module">
  import puppeteerExtraPluginRecaptchaCapmonster from 'https://cdn.skypack.dev/puppeteer-extra-plugin-recaptcha-capmonster';
</script>

README

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