Sản phẩmTích hợpTài nguyênTài liệuGiá cả
Bắt đầu ngay

© 2026 CapSolver. All rights reserved.

Liên hệ chúng tôi

Slack: lola@capsolver.com

Sản phẩm

  • reCAPTCHA v2
  • reCAPTCHA v3
  • Cloudflare Turnstile
  • Cloudflare Challenge
  • AWS WAF
  • Tiện ích trình duyệt
  • Thêm nhiều loại CAPTCHA

Tích hợp

  • Selenium
  • Playwright
  • Puppeteer
  • n8n
  • Đối tác
  • Xem tất cả tích hợp

Tài nguyên

  • Chương trình giới thiệu
  • Tài liệu
  • Tham chiếu API
  • Blog
  • Câu hỏi thường gặp
  • Thuật ngữ
  • Trạng thái

Pháp lý

  • Điều khoản dịch vụ
  • Chính sách bảo mật
  • Chính sách hoàn tiền
  • Không bán thông tin cá nhân của tôi
//Cách giải reCAPTCHA v2 bằng Puppeteer [JavaScript] với phần mở rộng CapSolver
Jul23, 2023

Cách giải reCAPTCHA v2 bằng Puppeteer [JavaScript] với phần mở rộng CapSolver

Ethan Collins

Ethan Collins

Pattern Recognition Specialist

Giới thiệu

Tự động hóa tương tác trình duyệt thường yêu cầu xử lý các thách thức CAPTCHA, đặc biệt khi làm việc với các công cụ như Puppeteer. Trong hướng dẫn này, chúng ta sẽ hướng dẫn bạn cách thiết lập Puppeteer JS với tiện ích mở rộng CapSolver để giải reCAPTCHA v2 một cách hiệu quả. Mặc dù bài viết này tập trung vào reCAPTCHA v2, cách tiếp cận tương tự có thể được mở rộng để xử lý các loại CAPTCHA khác được hỗ trợ bởi CapSolver.

Sau khi đọc xong bài viết này, bạn sẽ hiểu cách cài đặt các phụ thuộc cần thiết, cấu hình tiện ích mở rộng CapSolver, và kích hoạt việc giải CAPTCHA trực tiếp trong phiên trình duyệt được điều khiển bởi Puppeteer.

1. Cài đặt các thành phần puppeteer

⚠️ Trong bài viết này, chúng tôi sẽ giải thích cách thiết lập Puppeteer JS với tiện ích mở rộng CapSolver để giải reCAPTCHA v2. Tuy nhiên, cách tiếp cận này cũng có thể được áp dụng cho các loại CAPTCHA khác.

Copy
npm i puppeteer puppeteer-extra puppeteer-extra-plugin-stealth

2. Thiết lập tiện ích mở rộng

Tải tập tin nén chứa tiện ích mở rộng, và giải nén nó vào thư mục ./CapSolver.Browser.Extension trong thư mục gốc của dự án.

Tiện ích mở rộng có nhiều cài đặt, bao gồm giải CAPTCHA tự động, hỗ trợ proxy và các tùy chọn kiểm soát chi tiết. Các cài đặt này có sẵn trong tệp ./assets/config.json.

Các cài đặt này bao gồm:

json Copy
{
    "apiKey": "Khóa API của bạn",
    "useCapsolver": true,

    "useProxy": false,
    "proxyType": "http",
    "hostOrIp": "",
    "port": "",
    "proxyLogin": "",
    "proxyPassword": "",

    "enabledForBlacklistControl": false,
    "blackUrlList": [],

    "enabledForRecaptcha": true,
    "enabledForRecaptchaV3": true,
    "enabledForcaptcha": true,

    "reCaptchaMode": "token",
    "captchaMode": "click",

    "reCaptchaDelayTime": 0,
    "captchaDelayTime": 0,

    "reCaptchaRepeatTimes": 10,
    "reCaptcha3RepeatTimes": 10,
    "captchaRepeatTimes": 10
}

Nhập khóa API của bạn vào tệp cài đặt tiện ích mở rộng ./assets/config.json. Khóa phải được gán vào trường apiKey. Bạn có thể sao chép khóa API trực tiếp từ bảng điều khiển CapSolver.

Ví dụ:

Copy
apiKey: "CAP-4FDBD3SDFSD-23S-2-3"

Trong ví dụ này, reCaptchaMode được đặt thành token. Mặc dù chế độ click cũng có sẵn, chế độ token thường được khuyến nghị cho reCAPTCHA.

3. Thiết lập Puppeteer để giải reCAPTCHA với tiện ích mở rộng CapSolver

Copy
const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
const { executablePath } = require('puppeteer'); 

(async () => {
  const pathToExtension = require('path').join(__dirname, 'CapSolver.Browser.Extension');
  puppeteer.use(StealthPlugin())
  const browser = await puppeteer.launch({
    headless: false,
    args: [
      `--disable-extensions-except=${pathToExtension}`,
      `--load-extension=${pathToExtension}`,
    ],
    executablePath: executablePath()
  });
  
  const [page] = await browser.pages()
})();

Tiếp theo, mở trang https://www.google.com/recaptcha/api2/demo và gửi CAPTCHA đến CapSolver.

Sử dụng page.goto(), điều hướng đến trang đích. CAPTCHA có thể được gửi để giải either tự động hoặc thủ công.
Trong ví dụ này, chúng ta kích hoạt nó thủ công bằng cách chờ đợi hộp kiểm CAPTCHA và nhấp vào đó.

js Copy
await page.goto('https://site.example') 

// Chờ đợi phần tử với CSS selector "#recaptcha-anchor-label"
await page.waitForSelector('#recaptcha-anchor-label')
// Nhấp vào phần tử
await page.click('#recaptcha-anchor-label')

Mã nguồn đầy đủ

js Copy
const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
const { executablePath } = require('puppeteer'); 

(async () => {
  const pathToExtension = require('path').join(__dirname, 'CapSolver.Browser.Extension');
  puppeteer.use(StealthPlugin())
  const browser = await puppeteer.launch({
    headless: false,
    args: [
      `--disable-extensions-except=${pathToExtension}`,
      `--load-extension=${pathToExtension}`,
    ],
    executablePath: executablePath()
  });
  
  const [page] = await browser.pages()

  // Mở một trang
  await page.goto('https://site.example') 

  // Chờ đợi phần tử với CSS selector "#recaptcha-anchor-label"
  await page.waitForSelector('#recaptcha-anchor-label')
  // Nhấp vào phần tử
  await page.click('#recaptcha-anchor-label')
})();

Kết luận

Bạn đã thành công trong việc giải reCAPTCHA v2 bằng Puppeteer và tiện ích mở rộng CapSolver. Thiết lập này cung cấp cách tiếp cận linh hoạt và dễ mở rộng để xử lý các thách thức CAPTCHA trực tiếp trong môi trường trình duyệt thực tế. Bằng cách điều chỉnh cấu hình tiện ích mở rộng, quy trình làm việc tương tự có thể được tái sử dụng cho các loại CAPTCHA khác được hỗ trợ bởi CapSolver, phù hợp cho các mục đích kiểm thử, tự động hóa và các nhiệm vụ dựa trên trình duyệt quy mô lớn.

Câu hỏi thường gặp (FAQs)

1. Phương pháp này có thể sử dụng trong chế độ headless không?
Tiện ích mở rộng CapSolver yêu cầu môi trường trình duyệt hiển thị. Vì lý do này, headless: false được khuyến nghị khi sử dụng phương pháp dựa trên tiện ích mở rộng.

2. Thiết lập này có hoạt động cho các loại CAPTCHA khác ngoài reCAPTCHA v2 không?
Có. Tiện ích mở rộng CapSolver hỗ trợ nhiều loại CAPTCHA. Bạn có thể bật/tắt các trình giải CAPTCHA cụ thể trong tệp config.json và điều chỉnh quy trình làm việc tương ứng.

3. Có cần proxy khi sử dụng tiện ích mở rộng CapSolver không?
Proxy là tùy chọn. Tiện ích mở rộng hỗ trợ cấu hình proxy, nhưng nhiều trường hợp sử dụng không cần đến nó. Việc sử dụng proxy phụ thuộc vào trang web đích và yêu cầu tự động hóa của bạn.

4. Sự khác biệt giữa chế độ token và click cho reCAPTCHA là gì?
Chế độ token trích xuất giải pháp CAPTCHA một cách chương trình và thường ổn định hơn cho tự động hóa. Chế độ click mô phỏng tương tác người dùng với hộp kiểm CAPTCHA.

5. Thiết lập này có thể sử dụng trong môi trường sản xuất không?
Có. Với cấu hình phù hợp, xử lý lỗi và các yếu tố mở rộng, cách tiếp cận này có thể tích hợp vào các quy trình tự động hóa trình duyệt cấp độ sản xuất.

Xem thêm

reCAPTCHAApr 16, 2026

Lỗi reCAPTCHA: Khóa trang web hoặc Token không hợp lệ? Nguyên nhân và Hướng dẫn khắc phục

Đang gặp phải lỗi "reCAPTCHA Invalid Site Key" hoặc "token reCAPTCHA không hợp lệ"? Khám phá các nguyên nhân phổ biến, các giải pháp từng bước và mẹo khắc phục sự cố để giải quyết các vấn đề xác minh reCAPTCHA thất bại. Học cách sửa lỗi xác minh reCAPTCHA, vui lòng thử lại.

Aloísio Vítor
Aloísio Vítor
reCAPTCHAMar 25, 2026

Cách giải reCAPTCHA v2 Python và API

Học cách giải reCAPTCHA v2 bằng Python và API. Hướng dẫn toàn diện này bao gồm các phương pháp Proxy và không dùng Proxy cùng với mã nguồn có thể triển khai cho tự động hóa.

Nội dung

Rajinder Singh
Rajinder Singh
reCAPTCHAFeb 27, 2026

Làm thế nào để Tự động hóa Giải reCAPTCHA cho các nền tảng đánh giá hiệu năng Trí tuệ nhân tạo

Học cách tự động hóa reCAPTCHA v2 và v3 để kiểm tra hiệu suất AI. Sử dụng CapSolver để tối ưu hóa thu thập dữ liệu và duy trì các luồng AI hiệu suất cao.

Nikolai Smirnov
Nikolai Smirnov
reCAPTCHAFeb 12, 2026

Cách khắc phục các vấn đề reCAPTCHA phổ biến trong thu thập dữ liệu web

Học cách sửa các vấn đề reCAPTCHA phổ biến trong web scraping. Khám phá các giải pháp thực tế cho reCAPTCHA v2 và v3 để duy trì quy trình thu thập dữ liệu liền mạch.

Anh Tuan
Anh Tuan
Blog
reCAPTCHA