2.1.2 • Published 4 months ago

puppeteer-extra-plugin-capsolver v2.1.2

Weekly downloads
-
License
-
Repository
github
Last release
4 months ago

puppeteer-extra-plugin-capsolver

manage to solve captcha challenges with puppeteer

npm version npm.io

Install

npm i puppeteer puppeteer-extra puppeteer-extra-plugin-capsolver

Usage

  • Import puppeteer-extra and the plugin package
const puppeteer = require("puppeteer-extra");
const {
  SolverPlugin,
  SolverPluginError,
  SolverError,
} = require("puppeteer-extra-plugin-capsolver");

Auto-load official Browser Extension

  • How it works? This feature would auto-load the extension from a zipped file into static temp folder on your disk, then would load from there on demand refreshing apiKey on load.

  • How to use with from the plugin?

    • Set useExtension on plugin init.
    • Control the extension with await page.waitForSolverCallback({ timeout }).
puppeteer.use(
  new SolverPlugin({
    apiKey: process.env.APIKEY,
    useExtension: true, // this will auto-load the extension and apiKey
    useExtensionProxy: process.env.PROXYSTRING, // force proxy string on solving
    useExtensionReCaptchaMode: "token", // click or token mode
  })
);

// ...

await page.waitForSolverCallback({
  // timeout: 120000,
});

Common usage: call the API

  • How it works? Make use of capsolver-npm package to perform API calls for solution retrieving.

  • How to use with from the plugin?

    • Call to await page.solver().<method>({}) from any Page.
    • See methods and it's usage here.
puppeteer.use(
  new SolverPlugin({
    apiKey: process.env.APIKEY,
  })
);

// ...

await page
  .solver()
  .recaptchav2classification({
    // ... parameters
  })
  .then((s: any) => {
    console.log(s);
  })
  .catch((e: SolverError) => {
    console.log(`Errored task Id: ${e.errorTaskId}`);
    console.log(`Error Code: ${e.errorCode}`);
    console.log(`Error description: ${e.errorDescription}`);
  });

📁 Updated examples

Figure out here.

Disclaimer

By using this package, you acknowledge and agree that:

  • You are solely responsible for how you use the API and the author does not assume any liability for misuse, abuse, or violations of Capsolver’s terms of service.
  • This package provides a service connector for the Capsolver API and is not affiliated.