CAPSOLVER
Blog
Cách giải bất kỳ CAPTCHA nào trong HyperBrowser bằng cách sử dụng CapSolver (Hướng dẫn cài đặt đầy đủ)

Cách giải CAPTCHA bất kỳ trong HyperBrowser bằng CapSolver (Hướng dẫn cài đặt đầy đủ)

Logo of CapSolver

Anh Tuan

Data Science Expert

26-Mar-2026

Các đại diện trình duyệt AI đang thay đổi cách các nhà phát triển tương tác với web. Từ việc thu thập dữ liệu đến tự động hóa quy trình làm việc, các đại diện này điều hướng trang web, điền biểu mẫu và trích xuất thông tin mà không cần can thiệp của con người. Tuy nhiên, khi xuất hiện CAPTCHA, đại diện sẽ dừng lại.

HyperBrowser cung cấp cơ sở hạ tầng trình duyệt dựa trên đám mây được thiết kế riêng cho các đại diện AI, với khả năng giải CAPTCHA tích hợp cho Turnstile và reCAPTCHA. Tuy nhiên, web có nhiều hơn hai loại CAPTCHA. AWS WAF, GeeTest, các phiên bản reCAPTCHA do doanh nghiệp sử dụng và các thử thách chống bot khác vẫn chưa được giải quyết bởi các công cụ tích hợp.

CapSolver lấp đầy khoảng trống đó. Bằng cách tải tiện ích mở rộng CapSolver Chrome trực tiếp lên HyperBrowser thông qua API tiện ích mở rộng của nó, bạn sẽ có được khả năng giải CAPTCHA toàn diện cho mọi phiên, mọi loại CAPTCHA và mọi quy mô, mà không cần thay đổi mã tự động hóa của bạn.


HyperBrowser là gì?

HyperBrowser là nền tảng cơ sở hạ tầng trình duyệt đám mây được thiết kế đặc biệt cho các đại diện AI. Nó cung cấp các phiên trình duyệt được quản lý với truy cập giao diện DevTools của Chrome (CDP), hỗ trợ proxy và khả năng chống phát hiện ngay từ đầu.

Tính năng chính

  • Phiên trình duyệt đám mây: Tạo các phiên trình duyệt tách biệt theo yêu cầu, không cần cài đặt Chrome trên máy cục bộ
  • Truy cập CDP gốc: Kết nối Playwright, Puppeteer hoặc Selenium trực tiếp đến các phiên đám mây qua WebSocket
  • HyperAgent: Đại diện tự động hóa trình duyệt AI tích hợp để thực hiện các nhiệm vụ web bằng ngôn ngữ tự nhiên
  • Chống phát hiện: Hồ sơ ẩn danh, proxy nhà ở và ngẫu nhiên hóa dấu vân tay được tích hợp vào mỗi phiên
  • Hỗ trợ tiện ích mở rộng Chrome: API tải tiện ích mở rộng cấp cao -- nén tiện ích thành ZIP, tải lên và gắn nó vào bất kỳ phiên nào
  • Cơ sở hạ tầng có thể mở rộng: Chạy hàng trăm phiên đồng thời mà không cần quản lý bộ máy trình duyệt

Tại sao các nhà phát triển chọn HyperBrowser

HyperBrowser loại bỏ gánh nặng vận hành của tự động hóa trình duyệt. Thay vì quản lý các phiên bản Chromium, cấu hình headless, xoay proxy và chống phát hiện dấu vân tay, bạn sẽ nhận được một API sạch sẽ trả về URL WebSocket. Kết nối script Playwright hoặc Puppeteer của bạn và bắt đầu tự động hóa.


CapSolver là gì?

CapSolver là dịch vụ giải CAPTCHA hàng đầu cung cấp các giải pháp dựa trên AI để vượt qua các thách thức CAPTCHA. Với sự hỗ trợ cho nhiều loại CAPTCHA và thời gian phản hồi nhanh, CapSolver tích hợp liền mạch vào các quy trình tự động hóa.

Các loại CAPTCHA được hỗ trợ


Yêu cầu tiên quyết

Trước khi thiết lập tích hợp, hãy đảm bảo bạn có:

  1. Tài khoản HyperBrowser với khóa API (đăng ký tại hyperbrowser.ai)
  2. Tài khoản CapSolver với khóa API và tín dụng (đăng ký tại đây)
  3. Tiện ích mở rộng CapSolver Chrome đã tải về và cấu hình
  4. Node.js 18+ với @hyperbrowser/sdkplaywright-core được cài đặt
bash Copy
npm install @hyperbrowser/sdk playwright-core

Hướng dẫn cài đặt từng bước

Bước 1: Nhận khóa API CapSolver của bạn

  1. Đăng ký hoặc đăng nhập tại capsolver.com
  2. Điều hướng đến Bảng điều khiển của bạn
  3. Sao chép khóa API của bạn (định dạng: CAP-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)
  4. Thêm tín dụng vào tài khoản của bạn (sử dụng mã khuyến mãi HYPERBROWSER để nhận thêm 6% trên lần nạp đầu tiên)

Bước 2: Tải xuống và cấu hình tiện ích mở rộng CapSolver

Tải xuống tiện ích mở rộng CapSolver Chrome và cấu hình nó với khóa API của bạn:

  1. Truy cập các phiên bản tiện ích mở rộng CapSolver trên GitHub
  2. Tải về phiên bản mới nhất CapSolver.Browser.Extension-chrome-vX.X.X.zip
  3. Giải nén tiện ích:
bash Copy
mkdir -p capsolver-extension
unzip CapSolver.Browser.Extension-chrome-v*.zip -d capsolver-extension/
  1. Mở capsolver-extension/assets/config.js và đặt khóa API của bạn:
js Copy
export const defaultConfig = {
  apiKey: 'CAP-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',  // đặt khóa của bạn ở đây
  useCapsolver: true,
  // ... phần còn lại của cấu hình
};
  1. Xác minh cấu trúc tiện ích mở rộng:
bash Copy
ls capsolver-extension/manifest.json
# Nên tồn tại

Bước 3: Nén thư mục tiện ích mở rộng

API tải tiện ích mở rộng của HyperBrowser yêu cầu một tệp ZIP. Gói tiện ích mở rộng đã cấu hình:

bash Copy
cd capsolver-extension && zip -r ../capsolver-extension.zip . && cd ..

Điều này tạo ra capsolver-extension.zip ở thư mục gốc dự án, sẵn sàng để tải lên.

Bước 4: Tải tiện ích mở rộng lên HyperBrowser

Sử dụng SDK HyperBrowser để tải lên tệp ZIP của tiện ích mở rộng. Điều này chỉ cần thực hiện một lần -- extensionId được trả về có thể được sử dụng lại cho mọi phiên.

typescript Copy
import { Hyperbrowser } from "@hyperbrowser/sdk";

const client = new Hyperbrowser({
  apiKey: process.env.HYPERBROWSER_API_KEY,
});

// Tải lên tiện ích mở rộng CapSolver (thao tác một lần)
const ext = await client.extensions.create({
  filePath: "capsolver-extension.zip",
});

console.log("Extension ID:", ext.id);
// Lưu ID này -- bạn sẽ sử dụng lại nó cho mọi phiên

Lưu ý: Lưu ext.id vào biến môi trường hoặc cấu hình của bạn. Bạn chỉ cần tải lên lại nếu thay đổi phiên bản tiện ích mở rộng hoặc khóa API.

Bước 5: Tạo phiên với tiện ích mở rộng

Tạo phiên HyperBrowser tải tiện ích mở rộng CapSolver:

typescript Copy
const session = await client.sessions.create({
  extensionIds: [ext.id],
  useProxy: true, // Yêu cầu kế hoạch trả phí — bỏ qua cho phiên miễn phí
  solveCaptchas: false, // Sử dụng CapSolver thay vì giải tự động
});

console.log("Session ID:", session.id);
console.log("WebSocket URL:", session.wsEndpoint);

Lưu ý: Thiết lập solveCaptchas: false khi sử dụng CapSolver để tránh xung đột giữa hai cơ chế giải. Nếu bạn muốn cả hai như một chuỗi dự phòng, xem phần "Khi nào sử dụng Native vs CapSolver" bên dưới.

Bước 6: Kết nối Playwright với phiên

Kết nối Playwright với phiên HyperBrowser qua URL WebSocket:

typescript Copy
import { chromium } from "playwright-core";

const browser = await chromium.connectOverCDP(session.wsEndpoint);
const context = browser.contexts()[0];
const page = context.pages()[0] || await context.newPage();

// Điều hướng đến trang có CAPTCHA
await page.goto("https://www.google.com/recaptcha/api2/demo");

// Chờ tiện ích mở rộng CapSolver phát hiện và giải CAPTCHA
await page.waitForTimeout(30000);

// Gửi biểu mẫu
await page.click("#recaptcha-demo-submit");
await page.waitForLoadState("networkidle");

// Xác minh kết quả
const result = await page.textContent("body");
console.log("Kết quả:", result);
// Mong đợi: chứa "Verification Success"

await browser.close();
await client.sessions.stop(session.id);

Bước 7: Kiểm tra trên trang demo reCAPTCHA

Dưới đây là đoạn mã hoàn chỉnh từ đầu đến cuối tải tiện ích mở rộng, tạo phiên, giải CAPTCHA và xác minh kết quả:

typescript Copy
import { Hyperbrowser } from "@hyperbrowser/sdk";
import { chromium } from "playwright-core";

const HYPERBROWSER_API_KEY = process.env.HYPERBROWSER_API_KEY!;
const CAPSOLVER_EXTENSION_ID = process.env.CAPSOLVER_EXTENSION_ID; // Tùy chọn: tái sử dụng ID hiện có

async function main() {
  const client = new Hyperbrowser({ apiKey: HYPERBROWSER_API_KEY });

  // Bước 1: Tải tiện ích mở rộng (hoặc tái sử dụng ID hiện có)
  let extensionId = CAPSOLVER_EXTENSION_ID;

  if (!extensionId) {
    const ext = await client.extensions.create({
      filePath: "capsolver-extension.zip",
    });
    extensionId = ext.id;
    console.log("Tải lên tiện ích:", extensionId);
  }

  // Bước 2: Tạo phiên với tiện ích mở rộng CapSolver
  const session = await client.sessions.create({
    extensionIds: [extensionId],
    useProxy: true, // Yêu cầu kế hoạch trả phí — bỏ qua cho phiên miễn phí
    solveCaptchas: false,
  });

  console.log("Phiên đã bắt đầu:", session.id);

  // Bước 3: Kết nối Playwright
  const browser = await chromium.connectOverCDP(session.wsEndpoint);
  const context = browser.contexts()[0];
  const page = context.pages()[0] || await context.newPage();

  try {
    // Bước 4: Điều hướng đến trang demo reCAPTCHA
    console.log("Điều hướng đến trang demo reCAPTCHA...");
    await page.goto("https://www.google.com/recaptcha/api2/demo");

    // Bước 5: Chờ CapSolver giải CAPTCHA
    console.log("Chờ CapSolver giải CAPTCHA...");
    await page.waitForTimeout(30000);

    // Bước 6: Gửi biểu mẫu
    console.log("Gửi biểu mẫu...");
    await page.click("#recaptcha-demo-submit");
    await page.waitForLoadState("networkidle");

    // Bước 7: Kiểm tra kết quả
    const bodyText = await page.textContent("body");

    if (bodyText?.includes("Verification Success")) {
      console.log("CAPTCHA được giải thành công!");
    } else {
      console.log("Kết quả xác minh:", bodyText?.slice(0, 200));
    }
  } finally {
    await browser.close();
    await client.sessions.stop(session.id);
    console.log("Phiên đã dừng.");
  }
}

main().catch(console.error);

Chạy nó:

bash Copy
HYPERBROWSER_API_KEY=your_key npx tsx captcha-test.ts

Cách hoạt động bên trong

Dưới đây là quy trình đầy đủ từ tải tiện ích mở rộng đến giải CAPTCHA:

Copy
  Cài đặt một lần
  ═══════════════════════════════════════════════════════

  capsolver-extension/           HyperBrowser Cloud
  ├── manifest.json    ──ZIP──►  POST /extensions
  ├── assets/config.js           │
  └── background.js              ▼
                                 extensionId: "ext_abc123"
                                 (được lưu, có thể tái sử dụng)

  Quy trình mỗi phiên
  ═══════════════════════════════════════════════════════

  Script của bạn                    HyperBrowser Cloud
  ─────────────────────────────────────────────────────
  sessions.create({       ──►    Tạo phiên Chromium đám mây
    extensionIds: [id],          │
    useProxy: true               ├── Tải tiện ích CapSolver
  })                             ├── Áp dụng proxy + kỹ thuật ẩn
                                 ▼
                          ◄──    wsEndpoint (URL WebSocket)

  playwright.connectOverCDP()    Kết nối đến trình duyệt đám mây
       │
       ▼
  page.goto(target_url)   ──►   Chromium tải trang
                                 ┌─────────────────────────────┐
                                 │  Trang có widget CAPTCHA    │
                                 │                              │
                                 │  Tiện ích mở rộng CapSolver:        │
                                 │  1. Script nội dung phát hiện   │
                                 │     loại CAPTCHA trên trang     │
                                 │  2. Worker dịch vụ gọi API CapSolver │
                                 │  3. Token giải được nhận         │
                                 │  4. Token được chèn vào trường  │
                                 │     ẩn trong biểu mẫu           │
                                 └─────────────────────────────┘
                                      │
  page.waitForTimeout(30s)            │ (giải CAPTCHA xảy ra ở đây)
       │                              │
       ▼                              ▼
  page.click("Submit")    ──►   Biểu mẫu được gửi với token hợp lệ
                                      │
                          ◄──         ▼
                                 Trang demo của Google: "Verification Success!"

Tại sao giải CAPTCHA dựa trên tiện ích mở rộng hiệu quả đến vậy

Phương pháp tiện ích mở rộng Chrome của CapSolver có lợi thế chính so với giải CAPTCHA dựa trên API: tiện ích mở rộng chạy trong ngữ cảnh trình duyệt thực tế. Điều này có nghĩa:

  1. Phát hiện tự động: Script nội dung quét mọi trang để tìm các widget CAPTCHA đã biết -- không cần mã phát hiện thủ công
  2. Chèn token gốc: Token được chèn trực tiếp vào DOM, giống như trình duyệt của người dùng thực
  3. Không cần mã phối hợp: Bạn không cần viết createTask() / getTaskResult() / chèn logic -- tất cả được xử lý bởi tiện ích mở rộng
  4. Hoạt động với mọi framework: Dù bạn sử dụng Playwright, Puppeteer hay Selenium để kết nối, tiện ích mở rộng hoạt động giống nhau

Sử dụng tiện ích mở rộng CapSolver khi:

  • Bạn gặp phải AWS WAF, GeeTest hoặc các phiên bản reCAPTCHA doanh nghiệp
  • Bạn cần thời gian giải nhanh hơn cho tự động hóa khối lượng lớn
  • Bạn muốn giải CAPTCHA nhất quán trên HyperBrowser và trình duyệt tự host
  • Bạn cần khả năng giải CAPTCHA rộng nhất có thể cho các trang mục tiêu chưa biết
typescript Copy
// Toàn diện: tiện ích mở rộng CapSolver
const session = await client.sessions.create({
  extensionIds: [capsolverExtId],
  solveCaptchas: false,
  useProxy: true, // Yêu cầu kế hoạch trả phí — bỏ qua cho phiên miễn phí
});

Sử dụng cả hai như chuỗi dự phòng:

Để đảm bảo độ tin cậy tối đa, bạn có thể bật cả hai. Giải CAPTCHA tích hợp xử lý Turnstile/reCAPTCHA mà không mất thêm chi phí, và CapSolver bắt giữ mọi thứ khác:

typescript Copy
// An toàn hơn: cả hai đều được bật
const session = await client.sessions.create({
  extensionIds: [capsolverExtId],
  solveCaptchas: true, // Giải CAPTCHA tích hợp xử lý Turnstile/reCAPTCHA
  useProxy: true, // Yêu cầu kế hoạch trả phí — bỏ qua cho phiên miễn phí
  // Tiện ích mở rộng CapSolver bắt AWS WAF, GeeTest, v.v.
});

Lưu ý: Khi cả hai được bật cho cùng một loại CAPTCHA (ví dụ: reCAPTCHA), bên nào giải trước sẽ thắng. Trong thực tế, điều này hoạt động tốt -- không có xung đột.

Giải pháp thay thế: Cách tiếp cận API CapSolver

Nếu bạn muốn không sử dụng tiện ích mở rộng -- hoặc cần kiểm soát chặt chẽ hơn quy trình giải -- bạn có thể sử dụng API REST của CapSolver trực tiếp. Điều này hoạt động với bất kỳ phiên nào của HyperBrowser, không cần tải tiện ích mở rộng.

Cách hoạt động

  1. Điều hướng đến trang có CAPTCHA
  2. Phát hiện loại CAPTCHA và sitekey từ DOM
  3. Gọi createTask trên API CapSolver
  4. Kiểm tra getTaskResult cho đến khi token sẵn sàng
  5. Chèn token vào trang bằng Playwright
  6. Gửi biểu mẫu

Ví dụ đầy đủ

typescript Copy
import { Hyperbrowser } from "@hyperbrowser/sdk";
import { chromium } from "playwright-core";
const HYPERBROWSER_API_KEY = process.env.HYPERBROWSER_API_KEY!;
const CAPSOLVER_API_KEY = process.env.CAPSOLVER_API_KEY!;

async function solveCaptchaViaAPI(
  pageUrl: string,
  siteKey: string
): Promise<string> {
  // Tạo nhiệm vụ
  const createRes = await fetch("https://api.capsolver.com/createTask", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      clientKey: CAPSOLVER_API_KEY,
      task: {
        type: "ReCaptchaV2TaskProxyLess",
        websiteURL: pageUrl,
        websiteKey: siteKey,
      },
    }),
  });
  const { taskId, errorDescription } = await createRes.json();
  if (!taskId) throw new Error(`tạo nhiệm vụ thất bại: ${errorDescription}`);

  // Kiểm tra kết quả
  for (let i = 0; i < 40; i++) {
    await new Promise((r) => setTimeout(r, 3000));
    const resultRes = await fetch("https://api.capsolver.com/getTaskResult", {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({ clientKey: CAPSOLVER_API_KEY, taskId }),
    });
    const result = await resultRes.json();
    if (result.status === "ready") {
      return result.solution.gRecaptchaResponse;
    }
  }
  throw new Error("Hết thời gian giải CAPTCHA");
}

async function main() {
  const client = new Hyperbrowser({ apiKey: HYPERBROWSER_API_KEY });

  // Không cần mở rộng — chỉ cần một phiên bình thường
  const session = await client.sessions.create({
    solveCaptchas: false,
  });

  const browser = await chromium.connectOverCDP(session.wsEndpoint);
  const context = browser.contexts()[0];
  const page = context.pages()[0] || await context.newPage();

  try {
    await page.goto("https://www.google.com/recaptcha/api2/demo");

    // Phát hiện sitekey từ DOM
    const siteKey = await page.evaluate(() => {
      const el = document.querySelector(".g-recaptcha[data-sitekey]");
      return el?.getAttribute("data-sitekey") ?? "";
    });
    console.log("Sitekey:", siteKey);

    // Giải CAPTCHA qua API CapSolver
    const token = await solveCaptchaViaAPI(page.url(), siteKey);
    console.log("Token nhận được, độ dài:", token.length);

    // Chèn token
    await page.evaluate((t) => {
      const textarea = document.querySelector(
        'textarea[name="g-recaptcha-response"]'
      );
      if (textarea) (textarea as HTMLTextAreaElement).value = t;
    }, token);

    // Gửi biểu mẫu
    await page.click("#recaptcha-demo-submit");
    await page.waitForLoadState("networkidle");

    const body = await page.textContent("body");
    console.log(
      body?.includes("Verification Success")
        ? "CAPTCHA đã được giải qua API!"
        : body?.slice(0, 200)
    );
  } finally {
    await browser.close();
    await client.sessions.stop(session.id);
  }
}

main().catch(console.error);

Khi nào sử dụng API so với phần mở rộng

Phần mở rộng API
Cài đặt Tải lên ZIP một lần, tái sử dụng ID Không cần cài đặt — chỉ cần khóa API
Phát hiện Tự động (content script) Thủ công (truy vấn DOM để tìm sitekey)
Chèn token Tự động Thủ công (đánh giá JS)
Kiểm soát Không rõ ràng — phần mở rộng xử lý mọi thứ Kiểm soát toàn bộ từng bước
Phù hợp nhất với Tự động hóa một lần và quên đi Logic giải CAPTCHA tùy chỉnh, chiến lược thử lại

Giải quyết sự cố

Phần mở rộng không được tải trong phiên

Triệu chứng: CAPTCHA không được giải; trang hoạt động như thể không có phần mở rộng.

Nguyên nhân có thể:

  1. ID phần mở rộng sai — Xác minh ID được trả về từ client.extensions.create() được truyền đúng
  2. ZIP bị hỏng — Gói lại phần mở rộng (đảm bảo manifest.json ở gốc ZIP, không ở thư mục con)
  3. Thiếu khóa API — Kiểm tra assets/config.js có khóa API CapSolver hợp lệ trước khi gói

Cách khắc phục:

bash Copy
# Kiểm tra cấu trúc ZIP -- manifest.json nên ở gốc
unzip -l capsolver-extension.zip | head -20
# Nên hiển thị: manifest.json (KHÔNG phải capsolver-extension/manifest.json)

CAPTCHA không được giải (biểu mẫu thất bại)

Triệu chứng: Trang tải, nhưng CAPTCHA vẫn chưa được giải sau khi chờ.

Nguyên nhân có thể:

  1. Thời gian chờ quá ngắn — Tăng waitForTimeout lên 45-60 giây
  2. Khóa API không hợp lệ — Đăng nhập vào bảng điều khiển CapSolver và xác minh khóa
  3. Số dư không đủ — Nạp tiền tài khoản CapSolver của bạn
  4. Loại CAPTCHA không được hỗ trợ — Xem tài liệu CapSolver để biết các loại được hỗ trợ

Kết nối WebSocket phiên thất bại

Triệu chứng: chromium.connectOverCDP() ném lỗi kết nối.

Cách khắc phục: Đảm bảo phiên vẫn hoạt động. Phiên có thời gian chờ (mặc định thay đổi theo gói). Tạo phiên mới nếu phiên trước đã hết hạn:

typescript Copy
try {
  const browser = await chromium.connectOverCDP(session.wsEndpoint);
} catch (err) {
  console.log("Phiên hết hạn, tạo phiên mới...");
  const newSession = await client.sessions.create({
    extensionIds: [extensionId],
    useProxy: true, // Yêu cầu gói trả phí — bỏ qua cho gói miễn phí
  });
  const browser = await chromium.connectOverCDP(newSession.wsEndpoint);
}

Phần mở rộng hoạt động cục bộ nhưng không hoạt động trong HyperBrowser

Triệu chứng: Phần mở rộng CapSolver hoạt động khi tải cục bộ trong Chrome, nhưng thất bại trong phiên HyperBrowser.

Nguyên nhân có thể:

  1. config.js không được bao gồm trong ZIP — Kiểm tra lại ZIP bao gồm assets/config.js đã sửa đổi
  2. Hạn chế mạng — Phần mở rộng cần truy cập api.capsolver.com. Đảm bảo mạng phiên HyperBrowser cho phép kết nối HTTPS ra ngoài
  3. Phiên bản phần mở rộng không tương thích — Sử dụng phiên bản mới nhất của phần mở rộng CapSolver để tương thích tốt nhất

Nguyên tắc tốt nhất

1. Tải lên phần mở rộng một lần, tái sử dụng ID

Tải lên phần mở rộng là một lần duy nhất. Lưu ID được trả về và tái sử dụng nó trong mọi phiên:

typescript Copy
// Tải lên một lần
const ext = await client.extensions.create({ filePath: "capsolver-extension.zip" });
const CAPSOLVER_EXT_ID = ext.id;

// Tái sử dụng trong mọi phiên
for (const url of targetUrls) {
  const session = await client.sessions.create({
    extensionIds: [CAPSOLVER_EXT_ID],
    useProxy: true, // Yêu cầu gói trả phí — bỏ qua cho gói miễn phí. Proxy nhà riêng giảm tần suất CAPTCHA
  });
  // ... tự động hóa
  await client.sessions.stop(session.id);
}

2. Luôn bật proxy

CAPTCHA có nhiều khả năng xuất hiện (và khó giải hơn) khi yêu cầu đến từ IP dữ liệu trung tâm. Proxy tích hợp của HyperBrowser giúp:

typescript Copy
const session = await client.sessions.create({
  extensionIds: [extensionId],
  useProxy: true, // Yêu cầu gói trả phí — bỏ qua cho gói miễn phí. Proxy nhà riêng giảm tần suất CAPTCHA
});

3. Sử dụng thời gian chờ phù hợp

Các loại CAPTCHA khác nhau mất thời gian khác nhau để giải:

Loại CAPTCHA Thời gian giải trung bình Thời gian chờ khuyến khích
reCAPTCHA v2 (nút) 5-15 giây 30 giây
reCAPTCHA v2 (ẩn) 5-15 giây 25 giây
reCAPTCHA v3 3-10 giây 20 giây
Cloudflare Turnstile 3-10 giây 20 giây
AWS WAF 5-15 giây 30 giây
GeeTest v3/v4 5-20 giây 30 giây

Lời khuyên: Khi không chắc, hãy sử dụng 30 giây. Tốt hơn là chờ lâu hơn một chút so với việc gửi quá sớm.

4. Giám sát số dư CapSolver

Mỗi lần giải CAPTCHA tốn tiền. Thêm kiểm tra số dư vào tự động hóa để tránh gián đoạn:

typescript Copy
import axios from "axios";

async function checkBalance(apiKey: string): Promise<number> {
  const response = await axios.post("https://api.capsolver.com/getBalance", {
    clientKey: apiKey,
  });
  return response.data.balance || 0;
}

const balance = await checkBalance(process.env.CAPSOLVER_API_KEY!);
if (balance < 1) {
  console.warn("Số dư CapSolver thấp! Nạp tiền tại capsolver.com");
}

5. Dọn dẹp phiên

Luôn dừng phiên khi xong để tránh chi phí không cần thiết:

typescript Copy
try {
  // ... mã tự động hóa của bạn
} finally {
  await browser.close();
  await client.sessions.stop(session.id);
}

6. Gói lại ZIP sau khi thay đổi khóa API

Nếu bạn xoay khóa API CapSolver, bạn cần cập nhật config.js, gói lại và tải lên lại:

bash Copy
# Cập nhật khóa trong config.js, sau đó:
cd capsolver-extension && zip -r ../capsolver-extension.zip . && cd ..

Sau đó tải lên ZIP mới và cập nhật ID phần mở rộng đã lưu.


Kết luận

HyperBrowser và CapSolver cùng nhau cung cấp bộ giải CAPTCHA toàn diện nhất có sẵn cho tự động hóa trình duyệt AI:

  1. HyperBrowser xử lý cơ sở hạ tầng — phiên đám mây, proxy, chống phát hiện và giải CAPTCHA native cho Turnstile và reCAPTCHA
  2. CapSolver mở rộng phạm vi — AWS WAF, GeeTest, reCAPTCHA doanh nghiệp và mọi loại CAPTCHA mà trình giải native không đạt được

Tích hợp đơn giản: ZIP phần mở rộng CapSolver, tải lên một lần qua SDK HyperBrowser và gắn nó vào bất kỳ phiên nào. Không cần phát hiện CAPTCHA cấp mã, không cần chèn token, không cần kiểm tra API. Phần mở rộng xử lý mọi thứ bên trong ngữ cảnh trình duyệt.

Dù bạn đang xây dựng trình thu thập dữ liệu web, tác nhân AI hoặc các luồng kiểm tra tự động, sự kết hợp này có nghĩa là CAPTCHA không còn là rào cản — bất kể loại nào.


Sẵn sàng bắt đầu chưa? Đăng ký CapSolver và sử dụng mã khuyến mãi HYPERBROWSER để nhận thêm 6% tiền thưởng cho lần nạp đầu tiên!


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

HyperBrowser là gì?

HyperBrowser là nền tảng cơ sở hạ tầng trình duyệt đám mây cho các tác nhân AI. Nó cung cấp các phiên trình duyệt được quản lý, tách biệt với truy cập CDP gốc, để bạn có thể kết nối Playwright, Puppeteer hoặc Selenium với các phiên Chromium được lưu trữ trên đám mây. Nó bao gồm proxy tích hợp, chống phát hiện và giải CAPTCHA native cho Turnstile và reCAPTCHA.

Cách tải lên phần mở rộng hoạt động như thế nào?

HyperBrowser có API phần mở rộng cấp cao. Bạn ZIP thư mục phần mở rộng Chrome, tải lên qua client.extensions.create(), và nhận được extensionId. Truyền ID này đến client.sessions.create() và phần mở rộng được tải vào phiên trình duyệt đám mây tự động.

CapSolver hỗ trợ những loại CAPTCHA nào?

CapSolver hỗ trợ reCAPTCHA v2 (nút và ẩn), reCAPTCHA v3, reCAPTCHA Doanh nghiệp, Cloudflare Turnstile, Cloudflare 5-second Challenge, AWS WAF, GeeTest v3/v4 và nhiều loại khác. Phần mở rộng Chrome tự động phát hiện loại CAPTCHA và giải nó.

Chi phí của CapSolver là bao nhiêu?

CapSolver cung cấp giá cả cạnh tranh dựa trên loại CAPTCHA và khối lượng. Truy cập capsolver.com để xem giá hiện tại. Sử dụng mã HYPERBROWSER để nhận 6% tiền thưởng cho lần nạp đầu tiên.

Bạn có cần tải lên phần mở rộng cho mỗi phiên không?

Không. Tải lên phần mở rộng một lần và tái sử dụng ID được trả về trong mọi phiên. Bạn chỉ cần tải lên lại nếu thay đổi khóa API CapSolver bên trong phần mở rộng hoặc cập nhật phiên bản phần mở rộng.

Bạn có thể sử dụng Puppeteer thay vì Playwright không?

Có. HyperBrowser hỗ trợ Playwright, Puppeteer và Selenium. Thay thế lời gọi connectOverCDP của Playwright bằng tương đương của Puppeteer:

typescript Copy
import puppeteer from "puppeteer-core";

const browser = await puppeteer.connect({
  browserWSEndpoint: session.wsEndpoint,
});

Phần mở rộng CapSolver hoạt động giống nhau bất kể bạn sử dụng framework tự động hóa nào để kết nối.

HyperBrowser có miễn phí không?

HyperBrowser cung cấp gói miễn phí với số phiên hạn chế. Các gói trả phí mở khóa nhiều phiên hơn, thời gian chờ dài hơn và các tính năng bổ sung. Truy cập hyperbrowser.ai để xem giá hiện tại.

Tuyên bố Tuân thủ: Thông tin được cung cấp trên blog này chỉ mang tính chất tham khảo. CapSolver cam kết tuân thủ tất cả các luật và quy định hiện hành. Việc sử dụng mạng lưới CapSolver cho các hoạt động bất hợp pháp, gian lận hoặc lạm dụng là hoàn toàn bị cấm và sẽ bị điều tra. Các giải pháp giải captcha của chúng tôi nâng cao trải nghiệm người dùng trong khi đảm bảo tuân thủ 100% trong việc giúp giải quyết các khó khăn về captcha trong quá trình thu thập dữ liệu công khai. Chúng tôi khuyến khích việc sử dụng dịch vụ của chúng tôi một cách có trách nhiệm. Để biết thêm thông tin, vui lòng truy cập Điều khoản Dịch vụ và Chính sách Quyền riêng tư.

Thêm

OpenBrowser Sử dụng CapSolver
Làm thế nào để giải CAPTCHA trong OpenBrowser bằng cách sử dụng CapSolver (Hướng dẫn tự động hóa AI Agent)

Giải CAPTCHA trong OpenBrowser bằng CapSolver. Tự động hóa reCAPTCHA, Turnstile và hơn thế nữa cho các tác nhân AI một cách dễ dàng.

AI
Logo of CapSolver

Anh Tuan

26-Mar-2026

HyperBrowser với CapSolver
Cách giải CAPTCHA bất kỳ trong HyperBrowser bằng CapSolver (Hướng dẫn cài đặt đầy đủ)

Giải bất kỳ CAPTCHA nào trong HyperBrowser bằng CapSolver. Tự động hóa reCAPTCHA, Turnstile, AWS WAF và nhiều thứ khác một cách dễ dàng.

AI
Logo of CapSolver

Anh Tuan

26-Mar-2026

Giải quyết Captcha cho các tác nhân AI theo dõi giá: Hướng dẫn từng bước
Giải quyết CAPTCHA cho các tác nhân AI theo dõi giá: Hướng dẫn từng bước

Học cách giải quyết hiệu quả CAPTCHAs cho các trợ lý AI theo dõi giá cả với CapSolver. Hướng dẫn từng bước này đảm bảo thu thập dữ liệu không gián đoạn và nhìn nhận thị trường được cải thiện.

AI
Logo of CapSolver

Rajinder Singh

24-Mar-2026

Giải CAPTCHA với TinyFish AgentQ
Cách giải CAPTCHA bằng TinyFish AgentQL – Hướng dẫn từng bước sử dụng CapSolver

Học cách tích hợp CapSolver với TinyFish AgentQL để giải CAPTCHA tự động như reCAPTCHA và Cloudflare Turnstile. Hướng dẫn từng bước với các ví dụ SDK Python và JavaScript để tự động hóa web dựa trên AI liền mạch.

AI
Logo of CapSolver

Nikolai Smirnov

23-Mar-2026

Giải CAPTCHAs với NanoClaw và CapSolver
Làm thế nào để tự động giải CAPTCHA bằng NanoClaw và CapSolver

Hướng dẫn từng bước sử dụng CapSolver với NanoClaw để giải các CAPTCHA như reCAPTCHA, Turnstile, AWS WAF và các loại khác. Hoạt động với các đại diện AI Claude, không cần code và nhiều trình duyệt.

AI
Logo of CapSolver

Rajinder Singh

20-Mar-2026

Giải CAPTCHA bằng Vercel Agent Browser
Cách giải CAPTCHA với Trình duyệt Agent Vercel – Hướng dẫn từng bước sử dụng CapSolver

Học cách tích hợp CapSolver với Agent Browser để xử lý CAPTCHA và xây dựng quy trình tự động hóa AI đáng tin cậy.

AI
Logo of CapSolver

Anh Tuan

18-Mar-2026