# puppeteer-extra-plugin-capsolver-catchless

> A puppeteer-extra plugin to interact/solve captcha with API. (With no catches)

Latest version **1.1.7** (published 2023-04-24) · ISC license · 0 weekly downloads

## Install

```sh
npm install puppeteer-extra-plugin-capsolver-catchless
pnpm add puppeteer-extra-plugin-capsolver-catchless
yarn add puppeteer-extra-plugin-capsolver-catchless
bun add puppeteer-extra-plugin-capsolver-catchless
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.7 |
| Published | 2023-04-24 |
| First published | 2023-04-23 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 5 |
| Unpacked size | 250.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | 0qwertyy |
| Maintainers | spingrid |
| Keywords | recaptcha, hcaptcha, funcaptcha, datadome, geetest, puppeteer-extra, captcha-solver, 2captcha, capsolver.com, capmonster |

## Links

- npm: https://www.npmjs.com/package/puppeteer-extra-plugin-capsolver-catchless
- Repository: https://github.com/Spingrid/puppeteer-extra-plugin-capsolver-catchless
- Issues: https://github.com/Spingrid/puppeteer-extra-plugin-capsolver-catchless/issues
- npm.io page: https://npm.io/package/puppeteer-extra-plugin-capsolver-catchless

## Dependencies (5)

- [axios](https://npm.io/package/axios.md) ^1.3.4
- [puppeteer](https://npm.io/package/puppeteer.md) ^19.1.2
- [capsolver-npm](https://npm.io/package/capsolver-npm.md) ^1.0.7
- [puppeteer-extra](https://npm.io/package/puppeteer-extra.md) ^3.3.4
- [puppeteer-extra-plugin](https://npm.io/package/puppeteer-extra-plugin.md) ^3.2.2

## Alternatives

- [@snazzah/davey](https://npm.io/package/@snazzah/davey.md) — 1.5M weekly downloads
- [@vendure/testing](https://npm.io/package/@vendure/testing.md) — 8.3K weekly downloads
- [vue-simple-context-menu](https://npm.io/package/vue-simple-context-menu.md) — 6.6K weekly downloads
- [cypress-webpack-preprocessor-v5](https://npm.io/package/cypress-webpack-preprocessor-v5.md) — 2.1K weekly downloads
- [@backstage/plugin-catalog-backend-module-puppetdb](https://npm.io/package/@backstage/plugin-catalog-backend-module-puppetdb.md) — 1.3K weekly downloads

## Recent versions

- 1.1.7 (latest) — 2023-04-24
- 1.1.4 — 2023-04-23
- 1.1.3 — 2023-04-23
- 1.1.2 — 2023-04-23

## README

# puppeteer-extra-plugin-capsolver-catchless
[![](https://img.shields.io/badge/1.1.2-puppeteer--extra--plugin--capsolver-darkgreen?logo=npm&logoColor=white)](https://www.npmjs.com/package/puppeteer-extra-plugin-capsolver-catchless)
[![](https://img.shields.io/badge/documentation-docs.capsolver.com-darkgreen)](https://docs.capsolver.com/guide/getting-started.html)

- **Manage to solve captcha challenges with AI (captcha service based).**
- **Puppeteer browser context.**
- ❗ An API key it's **required**. [**Get here.**](https://dashboard.capsolver.com/passport/register?inviteCode=CHhA_5os)

- 🐞 This is a clone of puppeteer-extra-plugin-capsolver but I have removed the catches. I do not recommend you use this unless you know what you're doing - this was made for personal use.

---

⬇️ Install
-
    npm i puppeteer puppeteer-extra puppeteer-extra-plugin-capsolver-catchless

✋ Usage
-
Import and use within [`puppeteer-extra`](https://github.com/berstend/puppeteer-extra).

```javascript 
const puppeteer = require('puppeteer-extra')
const CapSolverPlugin = require('puppeteer-extra-plugin-capsolver')({
    apiKey: 'CAI-XXX ...',
    verboseLevel: 1,
    retry: true         // hcaptchaclicker: by default will retry challenges 
})
puppeteer.use(CapSolverPlugin)
 ```

# 🖱 HCaptcha (DOM feature)
![](https://raw.githubusercontent.com/0qwertyy/puppeteer-extra-plugin-capsolver/master/examples/puppeteer.gif)

- **`await page.hcaptchaclicker(checkboxFrame=undefined)`**  - handle a page including hcaptcha checkbox iframe *[example script (how to use).](https://github.com/0qwertyy/puppeteer-extra-plugin-capsolver/blob/master/examples/hcaptchaclicker-multiple-demo.js)*

- Will detect for failed callenges (and retry) and for double challenges that sometimes appears.

- Catch `.hcaptchaclicker()` exceptions for unsupported challenges.
- Read more about recognize captcha images through [HCaptcha Image Classification](https://docs.capsolver.com/guide/recognition/HCaptchaClassification.html).

```javascript
// get custom hcatpcha checkbox iframe
const desiredCheckboxFrame = await page.$("iframe[src*='custom-link-for-iframe-selector']")

await page.hcaptchaclicker(desiredCheckboxFrame) // pass no frame for detect the first on the page
.then(async (page) => {
    // submit if passed the challenge
    await page.click('#submit-my-form')
    await page.waitForNavigation()
}).catch((e) => {
    // ! catch clicker exception
    console.log(e)
})
```

📖 Handler / Solving Tasks API Wrapper
-

- **Based on [capsolver-npm](https://github.com/0qwertyy/capsolver-npm) (nodejs api wrapper for capsolver.com api).**
- **Handler it's attached to any puppeteer page.**

- Use the handler with:
```javascript
await page.capsolver()
```
- Perform any task that `capsolver-npm` brings.
- Supported captcha tasks listed on capsolver-npm at [*capsolver-npm#Supported API methods*](https://github.com/0qwertyy/puppeteer-extra-plugin-capsolver/blob/master/examples/run-any-task-example.js).

*example: retrieve handler and call for funcaptcha token.*
```javascript
await page.capsolver()
    .funcaptchaproxyless(websiteURL, websitePublicKey, funcaptchaApiJSSubdomain) // see required parametes by https://github.com/0qwertyy/capsolver-npm#-supported-captcha-tasks
    .then((results) => {
        if (results.error !== 0) {
            // createTask solution
            const token = results.solution
        } else {
            console.log(`got an error! ${JSON.stringify(results.apiResponse)}`)
        }
    }).catch(e => {
        console.log(e)
    })
```

- **Note that `await page.capsolver().runAynTask()` it's also supported in the case of tasks that are not supported by task-bind methods.**
  ***see: [examples/run-any-task-example.js](https://github.com/0qwertyy/puppeteer-extra-plugin-capsolver/blob/master/examples/solve-tasks/run-any-task-example.js)***

📁 Working Examples
-

figure out at [examples](https://github.com/0qwertyy/puppeteer-extra-plugin-capsolver/blob/master/examples/) directory

---
_Source: https://npm.io/package/puppeteer-extra-plugin-capsolver-catchless · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
