Cách giải quyết CAPTCHA trong BrowserCloud với API CapSolver

Anh Tuan
Data Science Expert
11-Sep-2025
BrowserCloud là một nền tảng tự động hóa trình duyệt dựa trên đám mây, hiệu năng cao, được thiết kế cho tự động hóa web có khả năng mở rộng và phân tán. Nó cho phép các nhà phát triển chạy hàng trăm trình duyệt Chrome không có đầu song song để sử dụng trong các trường hợp như thu thập dữ liệu web, kiểm thử tự động, giám sát SEO, trích xuất dữ liệu và tạo nội dung. Với hỗ trợ tích hợp sẵn cho Puppeteer, Selenium và Playwright, BrowserCloud đơn giản hóa các quy trình tự động hóa phức tạp bằng cách cung cấp luân chuyển proxy, quản lý phiên và giám sát thời gian thực.
Tuy nhiên, CAPTCHA, các hệ thống phát hiện bot và các biện pháp chống tự động hóa nâng cao thường làm gián đoạn các tác vụ tự động hóa trình duyệt này bằng cách yêu cầu các tương tác giống như con người để xác minh tính xác thực. Những rào cản như vậy có thể chặn các tập lệnh thu thập dữ liệu, làm chậm các đường dẫn kiểm thử và làm hỏng việc gửi biểu mẫu tự động, dẫn đến lãng phí thời gian và giảm hiệu quả.
CapSolver, một dịch vụ bỏ qua phát hiện CAPTCHA và bot được hỗ trợ bởi AI, cung cấp một giải pháp đáng tin cậy. Nó phát hiện và giải quyết theo chương trình một loạt các loại CAPTCHA — bao gồm reCAPTCHA v2 / v3, Cloudflare Turnstile và các câu đố dựa trên hình ảnh — đảm bảo các quy trình tự động hóa trình duyệt không bị gián đoạn.
Trong bài viết này, chúng tôi sẽ cung cấp hướng dẫn tích hợp từng bước để kết nối CapSolver với BrowserCloud bằng Puppeteer, cùng với một ví dụ mã hoạt động đầy đủ. Bằng cách làm theo hướng dẫn này, bạn sẽ có thể bỏ qua các thách thức CAPTCHA một cách liền mạch, đánh bại các biện pháp chống bot và tối đa hóa hiệu quả của các tập lệnh tự động hóa của bạn.
Tổng quan về BrowserCloud & Trường hợp sử dụng
BrowserCloud là một nền tảng đa năng quản lý một lưới các trình duyệt Chrome đầy đủ tính năng trên cơ sở hạ tầng hiệu năng cao, loại bỏ sự cần thiết phải xử lý các phụ thuộc trình duyệt cục bộ, rò rỉ bộ nhớ hoặc bảo trì cơ sở hạ tầng. Các tính năng chính của nó bao gồm:
- Khả năng mở rộng: Chạy tới 100 trình duyệt không có đầu cùng lúc để xử lý song song.
- Hỗ trợ khung: Tương thích với Puppeteer, Selenium và Playwright để tự động hóa linh hoạt.
- Quản lý Proxy: Cung cấp luân chuyển proxy thông minh và proxy cao cấp để tránh phát hiện và cấm IP.
- Tạo nội dung: Tạo PDF, ảnh chụp màn hình và hình ảnh từ các trang web hoặc HTML tùy chỉnh qua API.
- Giám sát thời gian thực: Cung cấp các công cụ để quản lý phiên và gỡ lỗi.
Trường hợp sử dụng
BrowserCloud hỗ trợ nhiều tác vụ tự động hóa, bao gồm:
- Thu thập dữ liệu web: Trích xuất dữ liệu từ các trang web để nghiên cứu thị trường, giám sát giá cả hoặc tổng hợp nội dung, tận dụng hỗ trợ proxy để tránh bị chặn.
- Kiểm thử tự động: Thực hiện kiểm thử đầu cuối trên nhiều trình duyệt và cấu hình để đảm bảo độ tin cậy của ứng dụng.
- Hiển thị nội dung: Tạo hàng nghìn báo cáo PDF, hóa đơn hoặc ảnh chụp màn hình tự động từ URL cho mục đích báo cáo hoặc tiếp thị.
- Tự động hóa tác vụ: Tự động hóa các tác vụ lặp đi lặp lại như gửi biểu mẫu, đăng nhập tài khoản hoặc xác thực liên kết.
Các trường hợp sử dụng này thường gặp phải CAPTCHA, khiến việc tích hợp CapSolver trở nên cần thiết để tự động hóa không bị gián đoạn.
Tại sao cần giải quyết CAPTCHA
Các trang web triển khai CAPTCHA và các biện pháp phòng thủ chống bot để bảo vệ chống lại truy cập tự động, thư rác và các hoạt động độc hại, gây ra một thách thức đáng kể đối với các tác vụ tự động hóa như thu thập dữ liệu web. CAPTCHA yêu cầu các tương tác như đánh dấu vào hộp kiểm hoặc giải các câu đố hình ảnh, điều này có thể tạm dừng các tập lệnh BrowserCloud nếu không được giải quyết. Các loại CAPTCHA phổ biến bao gồm:
| Loại CAPTCHA | Mô tả |
|---|---|
| reCAPTCHA v2 | Yêu cầu người dùng đánh dấu vào hộp hoặc chọn hình ảnh dựa trên lời nhắc. |
| reCAPTCHA v3 | Sử dụng hệ thống điểm để đánh giá hành vi của người dùng, thường vô hình đối với người dùng. |
| Cloudflare Turnstile | Một giải pháp thay thế CAPTCHA tập trung vào quyền riêng tư giúp giảm thiểu tương tác của người dùng. |
Đối với việc thu thập dữ liệu web và các tác vụ tự động hóa khác, CAPTCHA có thể ngăn chặn quyền truy cập vào dữ liệu quan trọng, yêu cầu can thiệp thủ công làm mất mục đích của tự động hóa. Mặc dù việc luân chuyển proxy của BrowserCloud giúp giảm thiểu việc kích hoạt CAPTCHA, nhưng nó có thể không loại bỏ hoàn toàn chúng. API của CapSolver cung cấp một giải pháp đáng tin cậy bằng cách giải quyết CAPTCHA theo chương trình, cho phép các tập lệnh BrowserCloud bỏ qua các rào cản này và tiếp tục trích xuất dữ liệu hoặc thực hiện các tác vụ một cách liền mạch.
Cách sử dụng CapSolver để xử lý CAPTCHA
API của CapSolver có thể được tích hợp với BrowserCloud trong một tập lệnh Puppeteer / Playwright / Selenium để xử lý CAPTCHA hiệu quả. Quá trình này bao gồm:
- Phát hiện CAPTCHA: Xác định sự hiện diện của CAPTCHA trên trang, chẳng hạn như một phần tử reCAPTCHA.
- Trích xuất thông tin: Truy xuất các chi tiết cần thiết, như khóa trang web và URL trang, cần thiết để giải quyết CAPTCHA.
- Gọi API của CapSolver: Gửi yêu cầu đến CapSolver để tạo tác vụ và lấy mã thông báo giải pháp.
- Tiêm giải pháp: Chèn mã thông báo vào trang để bỏ qua CAPTCHA.
- Tiếp tục tự động hóa: Tiến hành các tác vụ như gửi biểu mẫu hoặc thu thập dữ liệu.
Việc tích hợp này tận dụng cơ sở hạ tầng trình duyệt có khả năng mở rộng của BrowserCloud và khả năng giải quyết CAPTCHA do AI điều khiển của CapSolver để đảm bảo quy trình tự động hóa mạnh mẽ.
Ví dụ mã đầy đủ + Giải thích từng bước
Dưới đây là một ví dụ mã đầy đủ minh họa cách tích hợp CapSolver với BrowserCloud để giải quyết reCAPTCHA v2 trên một trang demo. Mã được dựa trên tập lệnh được cung cấp, với những cải tiến nhỏ để rõ ràng và đáng tin cậy hơn.
Điều kiện tiên quyết
Cài đặt các phụ thuộc cần thiết:
bash
npm install puppeteer node-fetch@2 dotenv
Tạo tệp .env với khóa API của bạn:
env
BROWSER_CLOUD_TOKEN=your_browsercloud_token
CAPSOLVER_API_KEY=your_capsolver_api_key
Ví dụ mã
javascript
import puppeteer from 'puppeteer';
import fetch from 'node-fetch';
import dotenv from 'dotenv';
dotenv.config();
const BROWSER_CLOUD_TOKEN = process.env.BROWSER_CLOUD_TOKEN;
const CAPSOLVER_API_KEY = process.env.CAPSOLVER_API_KEY;
async function solveCaptcha(sitekey, pageUrl) {
const createTaskRes = 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 createTask = await createTaskRes.json();
if (!createTask.taskId) throw new Error(`CapSolver: Failed to create task: ${JSON.stringify(createTask)}`);
let solution = null;
while (true) {
await new Promise(resolve => setTimeout(resolve, 2000));
const resultRes = await fetch('https://api.capsolver.com/getTaskResult', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
clientKey: CAPSOLVER_API_KEY,
taskId: createTask.taskId
})
});
const result = await resultRes.json();
if (result.status === 'ready') {
solution = result.solution.gRecaptchaResponse;
break;
}
if (result.status === 'failed') throw new Error(`CapSolver: Failed to solve: ${JSON.stringify(result)}`);
}
if (!solution) throw new Error('CapSolver: Timeout waiting for solution');
return solution;
}
(async () => {
try {
const browser = await puppeteer.connect({
browserWSEndpoint: `wss://chrome-v2.browsercloud.io?token=${BROWSER_CLOUD_TOKEN}`
});
const page = await browser.newPage();
await page.goto('https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php', { waitUntil: 'networkidle2' });
const sitekey = await page.$eval('.g-recaptcha', el => el.getAttribute('data-sitekey'));
console.log('Sitekey:', sitekey);
const solution = await solveCaptcha(sitekey, page.url());
console.log('CAPTCHA solution:', solution);
await page.evaluate(token => {
const textarea = document.getElementById('g-recaptcha-response');
if (textarea) {
textarea.value = token;
textarea.innerHTML = token;
textarea.style.display = '';
textarea.dispatchEvent(new Event('input', { bubbles: true }));
}
}, solution);
const submitBtn = await page.$('body > main > form > fieldset > button');
if (submitBtn) {
await Promise.all([
page.waitForNavigation({ waitUntil: 'networkidle2' }),
submitBtn.click()
]);
console.log('Submit button clicked!');
} else {
console.log('Submit button not found!');
}
console.log('Page content after submission:', await page.content());
await browser.close();
} catch (error) {
console.error('Error:', error);
}
})();
Giải thích từng bước
| Bước | Mô tả |
|---|---|
| 1. Thiết lập môi trường | Cài đặt puppeteer, node-fetch@2 và dotenv bằng npm. Tạo tệp .env với khóa API BrowserCloud và CapSolver của bạn. |
| 2. Định nghĩa hàm solveCaptcha | Hàm này nhận khóa trang web và URL trang, tạo tác vụ CapSolver cho reCAPTCHA v2, kiểm tra giải pháp (tối đa 30 lần thử với khoảng thời gian 2 giây) và trả về mã thông báo giải pháp. |
| 3. Kết nối với BrowserCloud | Sử dụng puppeteer.connect với điểm cuối WebSocket của BrowserCloud, bao gồm mã thông báo API của bạn. Lưu ý rằng createIncognitoBrowserContext không được hỗ trợ ở chế độ từ xa của BrowserCloud, vì vậy hãy sử dụng browser.newPage() trực tiếp. |
| 4. Điều hướng đến trang đích | Mở một trang mới và điều hướng đến trang demo với reCAPTCHA v2, chờ mạng nhàn rỗi. |
| 5. Trích xuất khóa trang web | Sử dụng page.$eval để truy xuất thuộc tính data-sitekey từ phần tử .g-recaptcha. |
| 6. Giải quyết CAPTCHA | Gọi solveCaptcha với khóa trang web và URL trang để lấy mã thông báo giải pháp từ CapSolver. |
| 7. Tiêm giải pháp | Tiêm mã thông báo giải pháp vào vùng văn bản g-recaptcha-response và gửi sự kiện đầu vào để mô phỏng tương tác của người dùng. |
| 8. Gửi biểu mẫu | Định vị nút gửi, nhấp vào nó và chờ điều hướng để đảm bảo việc gửi biểu mẫu được xử lý. |
| 9. Xác minh kết quả | In nội dung trang để xác nhận việc gửi thành công. |
| 10. Đóng trình duyệt | Đóng kết nối trình duyệt để giải phóng tài nguyên. |
Lưu ý: Mã gốc đã sử dụng page.waitForTimeout(3000) sau khi nhấp vào nút gửi, điều này có thể không chờ điều hướng một cách đáng tin cậy. Ví dụ này cải thiện nó bằng cách sử dụng page.waitForNavigation() để đảm bảo trang đã tải đầy đủ sau khi gửi.
Hướng dẫn trình diễn
Phần này mô tả việc thực thi tập lệnh trên một trang demo với hộp kiểm reCAPTCHA v2:
- Kết nối với BrowserCloud: Tập lệnh thiết lập kết nối với một phiên bản trình duyệt BrowserCloud bằng Puppeteer.
- Điều hướng đến trang Demo: Nó tải trang demo reCAPTCHA v2 (https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php).
- Phát hiện và trích xuất khóa trang web: Tập lệnh xác định phần tử reCAPTCHA và trích xuất khóa trang web của nó.
- Giải quyết CAPTCHA: Nó gửi khóa trang web và URL trang đến CapSolver, nhận được mã thông báo giải pháp sau khi kiểm tra.
- Tiêm mã thông báo: Mã thông báo được tiêm vào vùng văn bản
g-recaptcha-response, mô phỏng việc xác minh CAPTCHA thành công. - Gửi biểu mẫu: Tập lệnh nhấp vào nút gửi, kích hoạt việc gửi biểu mẫu.
- Xác minh thành công: Sau khi điều hướng, nội dung trang được ghi lại, hiển thị việc gửi thành công (ví dụ: thông báo xác nhận).
Trong thực tế, bạn sẽ thấy trình duyệt điều hướng đến trang demo, hộp kiểm reCAPTCHA được đánh dấu tự động và biểu mẫu được gửi thành công, tất cả đều không cần can thiệp thủ công.
Phần Câu hỏi thường gặp
| Câu hỏi | Câu trả lời |
|---|---|
| CapSolver hỗ trợ những loại CAPTCHA nào? | CapSolver hỗ trợ reCAPTCHA v2 / v3, Cloudflare Turnstile và hơn thế nữa. Xem tài liệu CapSolver để biết chi tiết. |
| Làm thế nào để tôi có được khóa API cho BrowserCloud và CapSolver? | Đăng ký tại BrowserCloud và CapSolver để lấy khóa API của bạn sau khi đăng ký. |
| Tôi có thể sử dụng tích hợp này với Selenium hoặc Playwright không? | Có, bạn có thể điều chỉnh tích hợp cho Selenium hoặc Playwright bằng cách sửa đổi logic điều khiển trình duyệt và thao tác trang cho phù hợp với API của các khung đó. |
| Điều gì sẽ xảy ra nếu CapSolver không giải quyết được CAPTCHA? | Thực hiện logic thử lại trong tập lệnh của bạn hoặc kiểm tra tài khoản CapSolver của bạn về các sự cố như số dư không đủ. Ghi lại lỗi để gỡ lỗi. |
| Tôi có cần proxy với CapSolver không? | Ví dụ sử dụng ReCaptchaV2TaskProxyless, nhưng proxy có thể cần thiết cho CAPTCHA cụ thể theo khu vực. Việc luân chuyển proxy tích hợp sẵn của BrowserCloud có thể bổ sung điều này. |
Kết luận
Việc tích hợp CapSolver với BrowserCloud tạo ra sự kết hợp mạnh mẽ để tự động hóa các tác vụ web gặp phải CAPTCHA. Việc giải quyết CAPTCHA do AI điều khiển của CapSolver đảm bảo rằng các tập lệnh Puppeteer của bạn trên BrowserCloud có thể bỏ qua các biện pháp chống bot, trong khi cơ sở hạ tầng có thể mở rộng và hỗ trợ proxy của BrowserCloud tăng cường độ tin cậy của tự động hóa. Điều này đặc biệt có giá trị đối với việc thu thập dữ liệu web, kiểm thử tự động và tạo nội dung, nơi CAPTCHA là những trở ngại phổ biến.
Để bắt đầu, hãy đăng ký BrowserCloud và CapSolver, lấy khóa API của bạn và thực hiện ví dụ mã được cung cấp. Khám phá tài liệu CapSolver và tài liệu BrowserCloud để biết các tính năng nâng cao và các loại tác vụ bổ sung. Hãy thử tích hợp này trong dự án tự động hóa tiếp theo của bạn và trải nghiệm quy trình làm việc liền mạch, không bị gián đoạn!
Tiền thưởng cho người dùng Browser: Sử dụng mã khuyến mãi BROWSERCLOUD khi nạp tiền vào tài khoản CapSolver của bạn và nhận được khoản tín dụng thưởng 6% độc quyền — không giới hạn, không hết hạn.
Trình duyệt và công cụ được hỗ trợ
- BrowserCloud: Hỗ trợ Puppeteer, Selenium và Playwright, chạy trình duyệt Chrome.
CapSolver: Tương thích với bất kỳ client nào hỗ trợ HTTP, bao gồm cả tiện ích mở rộng trình duyệt cho Chrome và Firefox.
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

Cách xử lý Captcha khi làm web scraping
Các thách thức CAPTCHA thường làm gián đoạn quy trình quét trang web. CapSolver cung cấp API và tiện ích mở rộng trình duyệt để giải nhiều loại CAPTCHA, giúp duy trì việc trích xuất dữ liệu mượt mà và cải thiện hiệu quả tự động hóa.

Aloísio Vítor
15-Dec-2025

Tiện ích giải Captcha tốt nhất cho Chrome, Mozilla
Tiện ích mở rộng CapSolver tự động phát hiện và giải các thách thức CAPTCHA trong Chrome và Firefox. Được hỗ trợ bởi các thuật toán AI tiên tiến, nó chạy trơn tru ở nền mà không cần bất kỳ kỹ năng lập trình nào. Bằng cách loại bỏ việc giải CAPTCHA thủ công, CapSolver giúp người dùng tiết kiệm thời gian, cải thiện năng suất và tận hưởng trải nghiệm lướt web và tự động hóa mượt mà hơn.

Anh Tuan
15-Dec-2025

reCAPTCHA là gì? Ví dụ về ReCAPTCHA ở đâu reCAPTCHA demo
Bài viết này cung cấp tổng quan toàn diện về reCAPTCHA, các loại phổ biến của nó và một demo trực tiếp để giúp bạn hiểu cách hoạt động của nó. Bài viết cũng trình bày cách giải quyết reCAPTCHA v2 một cách hiệu quả bằng CapSolver, nâng cao quy trình tự động hóa và phát triển trong khi duy trì bảo mật trang web.

Sora Fujimoto
15-Dec-2025

Cách giải CAPTCHAs bằng Python sử dụng Botasaurus và CapSolver (Hướng dẫn đầy đủ)
Học cách tích hợp Botasaurus (khung phần mềm quét web Python) với API CapSolver để tự động giải reCAPTCHA v2/v3 và Turnstile.

Anh Tuan
15-Dec-2025

AdsPower: Mở khóa tiềm năng kiếm tiền của bạn với Trình duyệt AdsPower
Trong bài viết này, chúng tôi sẽ cho bạn biết AdsPower là gì và các dịch vụ mà họ cung cấp.

Nikolai Smirnov
15-Dec-2025

Tiện ích tốt nhất để giải CAPTCHA 2026 là gì?
Trong thế giới an ninh trực tuyến không ngừng phát triển, các thách thức CAPTCHA đã trở thành rào cản phổ biến đối với người dùng internet...

Ethan Collins
12-Dec-2025

