Skip to content

Latest commit

 

History

History
96 lines (75 loc) · 3.3 KB

File metadata and controls

96 lines (75 loc) · 3.3 KB

puppeteer-extra-plugin-capsolver


⬇️ Install

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

✋ Usage

  1. Import and use within puppeteer-extra.

     const puppeteer = require('puppeteer-extra');
     const CapSolverPlugin = require('puppeteer-extra-plugin-capsolver')();
     
     puppeteer.use(CapSolverPlugin);
  2. .setHandler('apikey', verbose) - at the top of your script.

Set your apikey in order to request solving tasks.

 CapSolverPlugin.setHandler('CAI-XXX...', 1); // debug tasks: 1 or 2

📖 Handler / Solving API Wrapper

  • Handler it's based on capsolver-npm (nodejs api wrapper for capsolver.com api).

  • Retrieve the currently handler:

const handler = CapSolverPlugin.handler()

example: retrieve handler and call for funcaptcha token.

//  
await CapSolverPlugin.handler()
  .funcaptchaproxyless(websiteURL, websitePublicKey, funcaptchaApiJSSubdomain)
  .then((response) => {
    if(response.error !== 0){ 
        const token = response.apiResponse.solution;
    }else{ 
        const token = null; 
        console.log('[myapp][got error]' + JSON.stringify(response.apiResponse))
    }  
  }).catch(e => {
      console.log(e);
  })

🖱 Extra DOM Features

  • await CapSolverPlugin.hcaptchaclicker(page) - handle a page including hcaptcha iframe and trigger it, then emulates human clicks. example script (how to use).
puppeteer.launch({ headless: false })
.then(async browser => {
    let page = await browser.newPage();
    await page.goto(targeturl);
    await CapSolverPlugin.hcaptchaclicker(page, true)
    .then(async (page) => {
        // handle clicker success
        await page.click('#submit');
        await page.waitForNavigation();
    }).catch((e) => {
        // handle clicker error
        console.log(e);
    });

})

  • hcaptcha callback.
  • funcaptcha clicker.
  • funcaptcha callback.

📁 Examples

figure out at examples directory