Giải pháp CAPTCHA CloakBrowser: Làm thế nào để tích hợp CapSolver với Tự động hóa trình duyệt Playwright

Anh Tuan
How to use CapSolver
31-Aug-2026
TL;DR
- CloakBrowser khởi động một phiên bản Chromium thông qua API Python tương thích Playwright; CapSolver xử lý nhiệm vụ CAPTCHA và trả về một mã token hoặc kết quả nhận dạng hình ảnh.
- CloakBrowser không phải là dịch vụ giải CAPTCHA. Việc tích hợp duy trì trạng thái trình duyệt trong CloakBrowser, gửi chỉ các tham số cần thiết của thử thách đến CapSolver, và nộp kết quả thông qua cùng trang Playwright.
- Đối với một đoạn mã Playwright hiện có, sự thay đổi chính ở phía trình duyệt là thay thế trình khởi động Chromium tiêu chuẩn bằng
from cloakbrowser import launch. - Giữ URL trang, khóa trang, proxy, cookie, ngôn ngữ, và agent người dùng nhất quán khi một thử thách liên quan đến phiên làm việc hiện tại.
- Một mã token được trả về là kết quả trung gian. Xem quy trình thành công chỉ khi trang đích hoặc ứng dụng được cấp quyền chấp nhận nó.
CloakBrowser và CapSolver Làm Gì
CloakBrowser là một gói trình duyệt dựa trên Chromium cho tự động hóa Playwright và Puppeteer. Kho lưu trữ chính thức của nó mô tả các thay đổi cấp nguồn cho các tín hiệu trình duyệt như canvas, WebGL, âm thanh, phông chữ, GPU, màn hình, WebRTC và hành vi liên quan đến tự động hóa. Trình khởi động Python trả về một đối tượng Playwright Browser tiêu chuẩn, do đó các phương thức quen thuộc như new_page(), locator, evaluate(), nhấp chuột và thao tác biểu mẫu vẫn có sẵn.
CloakBrowser không giải CAPTCHA. CapSolver cung cấp dịch vụ này: ứng dụng của bạn tạo một nhiệm vụ với các tham số thử thách, nhận được giải pháp và sử dụng trang hiện tại để nộp nó. Sự phân chia này quan trọng vì quản lý môi trường trình duyệt và xử lý CAPTCHA có đầu vào và chế độ lỗi khác nhau.
Nhiệm vụ cụ thể như sau:
text
CloakBrowser
-> khởi động Chromium và duy trì cookie, proxy, trang, và bối cảnh trình duyệt
-> đọc các tham số thử thách hiển thị cho phiên làm việc hiện tại
CapSolver
-> nhận loại nhiệm vụ được hỗ trợ và các tham số thử thách cần thiết
-> trả về một mã token hoặc kết quả nhận dạng hình ảnh
API Playwright
-> đưa kết quả trở lại trang cùng lúc
-> kích hoạt hàm gọi lại mong muốn hoặc nộp biểu mẫu
-> xác minh phản hồi của trang đích hoặc ứng dụng cuối cùng
Nếu bạn cần ôn tập Playwright trước khi tích hợp hai dịch vụ, xem từ điển Playwright của CapSolver tại https://www.capsolver.com/glossary/playwright và hướng dẫn tự động hóa trình duyệt Playwright tại https://www.capsolver.com/blog/automation/playwright-browser-automation.
Điều Kiện Cần Thiết
Sử dụng quy trình này chỉ trên các trang web và ứng dụng bạn sở hữu hoặc được phép kiểm tra hoặc tự động hóa. Bạn sẽ cần:
- Python 3.9 hoặc cao hơn;
- cài đặt và giấy phép CloakBrowser hoặc cấu hình đánh giá được hỗ trợ;
- tài khoản CapSolver và khóa API;
- URL đích và các tham số thử thách từ trang bạn được phép tự động hóa.
Cài đặt các gói Python:
bash
pip install cloakbrowser capsolver
Về giấy phép CloakBrowser, kho lưu trữ hiện tại mô tả cloakbrowser login để thiết lập tương tác và biến môi trường CLOAKBROWSER_LICENSE_KEY cho CI hoặc máy chủ. Giữ cả hai thông tin xác thực của nhà cung cấp bên ngoài kiểm soát nguồn. Biến môi trường hoặc quản lý bí mật an toàn hơn so với việc ghi khóa trực tiếp vào mã nguồn.
Bước 1: Khởi động CloakBrowser với API Playwright
Ví dụ tối thiểu sau mở một trang, đọc tiêu đề của nó và đóng trình duyệt:
python
from cloakbrowser import launch
browser = launch(
headless=False,
humanize=True,
license_key="cb_...",
)
page = browser.new_page()
page.goto("https://example.com", wait_until="domcontentloaded")
print(page.title())
browser.close()
Các tùy chọn trình khởi động điều khiển môi trường trình duyệt:
| Tham số | Mục đích |
|---|---|
headless |
Chạy với hoặc không có cửa sổ trình duyệt hiển thị. |
humanize |
Kích hoạt hành vi tương tác được mô tả bởi CloakBrowser. |
proxy |
Định tuyến phiên trình duyệt qua một proxy được cấu hình. |
geoip |
Đồng bộ hóa cài đặt trình duyệt liên quan đến vị trí khi được hỗ trợ bởi cấu hình đã chọn. |
| cài đặt ngôn ngữ và múi giờ | Giữ các tín hiệu ngôn ngữ và thời gian nhất quán với phiên làm việc. |
license_key |
Cung cấp giấy phép CloakBrowser khi không được tải từ môi trường hoặc trạng thái đăng nhập. |
Đối với các thử thách liên quan đến phiên làm việc, tránh thay đổi proxy, agent người dùng, cookie hoặc bối cảnh trình duyệt giữa việc đọc thử thách và nộp giải pháp của nó. FAQ của CapSolver về định danh trình duyệt trong bảo mật web giải thích tại sao nhiều tín hiệu trình duyệt có thể được đánh giá cùng nhau.
Bước 2: Tạo Nhiệm Vụ reCAPTCHA v2 của CapSolver
Luồng SDK Python cơ bản thiết lập khóa API và gửi một đối tượng nhiệm vụ được hỗ trợ. Ví dụ này sử dụng các giá trị demo công khai của Google:
python
import capsolver
capsolver.api_key = "CAP-..."
solution = capsolver.solve(
{
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
}
)
token = solution.get("gRecaptchaResponse")
if not isinstance(token, str) or not token:
raise RuntimeError(f"CapSolver không trả về mã reCAPTCHA: {solution}")
print("Token nhận được")
Các trường quan trọng là:
| Trường | Ý nghĩa |
|---|---|
type |
Loại nhiệm vụ CapSolver khớp với thử thách. |
websiteURL |
URL trang đầy đủ nơi thử thách xuất hiện. |
websiteKey |
Khóa trang được tìm thấy trong tích hợp trang. |
isInvisible |
Cờ tùy chọn chỉ được sử dụng khi trang triển khai phiên bản vô hình. |
Kiểm tra tài liệu CapSolver reCAPTCHA v2 trước khi triển khai sản xuất, và sử dụng các giá trị từ trang đang hoạt động thay vì sao chép tham số demo. Hướng dẫn giải reCAPTCHA v2 chi tiết hơn về lựa chọn nhiệm vụ và trường phản hồi.
Nhận Mã Khuyến Mãi CapSolver
Tăng ngân sách tự động hóa của bạn ngay lập tức!
Sử dụng mã khuyến mãi CAP26 khi nạp tiền cho tài khoản CapSolver để nhận thêm 5% khuyến mãi cho mỗi lần nạp — không giới hạn.
Nhận mã khuyến mãi ngay trong Bảng điều khiển CapSolver
Bước 3: Trả Lại Mã Token Qua Cùng Trang CloakBrowser
Ví dụ đầy đủ dưới đây giữ việc điều hướng và nộp token bên trong cùng một trang CloakBrowser. Các lựa chọn CSS và hành vi nộp đơn là đặc trưng cho demo công khai; một ứng dụng thực tế có thể sử dụng hàm gọi lại, trường được quản lý bởi framework, hoặc luồng biểu mẫu khác.
python
import re
import capsolver
from cloakbrowser import launch
def inject_recaptcha_token(page, token):
if not isinstance(token, str) or not token:
raise ValueError("Một mã reCAPTCHA không rỗng là bắt buộc")
page.evaluate(
"""
(token) => {
const textarea = document.getElementById('g-recaptcha-response');
if (!textarea) {
throw new Error('g-recaptcha-response không được tìm thấy');
}
textarea.value = token;
}
""",
token,
)
with page.expect_navigation(
wait_until="domcontentloaded",
timeout=30_000,
):
page.click("#recaptcha-demo-submit")
return page.content()
def main():
capsolver.api_key = "CAP-..." # KHÓA_API_CAPSOLVER_CỦA_BẠN
browser = launch(
license_key="cb_...", # KHÓA_GIẤY_PHÉP_CLOAKBROWSER_CỦA_BẠN
headless=False,
locale="en-US",
)
try:
page = browser.new_page()
page.goto(
"https://www.google.com/recaptcha/api2/demo",
wait_until="domcontentloaded",
timeout=60_000,
)
solution = capsolver.solve(
{
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": page.url,
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
}
)
token = solution.get("gRecaptchaResponse")
result_page = inject_recaptcha_token(page, token)
match = re.search(
r'<div class="recaptcha-success">(.*?)</div>',
result_page,
)
print(match.group(1) if match else "Xác minh thất bại")
finally:
browser.close()
if __name__ == "__main__":
main()
Chạy nó như một tập lệnh Python thông thường:
bash
python cloakbrowser-capsolver.py
Trong sản xuất, tải khóa từ biến môi trường, thêm các lần lặp có giới hạn xung quanh các lỗi API hoặc điều hướng tạm thời, ghi lại ID nhiệm vụ CapSolver mà không ghi lại bí mật, và xác minh kết quả kinh doanh cuối cùng. CapSolver cũng cung cấp FAQ tập trung vào tích hợp giải CAPTCHA với Playwright hoặc Puppeteer.
Bước 4: Xử Lý CAPTCHA Hình Ảnh Với ImageToTextTask
Một số quy trình kiểm tra được ủy quyền hiển thị CAPTCHA dưới dạng hình ảnh thay vì widget dựa trên token. Trong trường hợp đó, chụp hoặc trích xuất hình ảnh, chuyển đổi nó thành Base64 mà không có tiền tố Data URL, và gửi nó đến ImageToTextTask.
Hình ảnh dưới đây từ quy trình ban đầu cho thấy phần tử hình ảnh và trường nhập trên demo tính năng BotDetect:

python
import capsolver
from cloakbrowser import launch
TARGET_URL = "https://captcha.com/demos/features/captcha-demo.aspx"
browser = launch(headless=False, humanize=True)
try:
page = browser.new_page()
page.goto(TARGET_URL, wait_until="domcontentloaded")
image_src = page.locator("#demoCaptcha_CaptchaImage").get_attribute("src")
if not image_src or "," not in image_src:
raise RuntimeError("Hình ảnh CAPTCHA không phải là Data URL")
base64_image = image_src.split(",", 1)[1].replace("\n", "")
solution = capsolver.solve(
{
"type": "ImageToTextTask",
"websiteURL": page.url,
"module": "common",
"body": base64_image,
}
)
text = solution.get("text")
if not isinstance(text, str) or not text:
raise RuntimeError(f"CapSolver không trả về văn bản OCR: {solution}")
page.locator("#captchaCode").fill(text)
page.locator("#validateCaptchaButton").click()
finally:
browser.close()
Các lựa chọn được liên kết cố ý với trang demo. Kiểm tra trang đích được ủy quyền và sử dụng các lựa chọn hình ảnh, nhập và nộp thực tế của nó.
Nhiều hình ảnh và mô-đun số
ImageToTextTask có thể sử dụng các mô-đun khác nhau cho các định dạng hình ảnh được hỗ trợ. Phần mô tả mô-đun ban đầu được giữ lại đây để tham khảo:

Khi một mô-đun được hỗ trợ chấp nhận nhiều hình ảnh, gửi mảng được mô tả cho mô-đun đó và đọc câu trả lời tương ứng:
python
solution = capsolver.solve(
{
"type": "ImageToTextTask",
"module": "number",
"images": [base64_image],
}
)
answers = solution["answers"]
Tên mô-đun, trường yêu cầu và định dạng được hỗ trợ có thể thay đổi, vì vậy hãy kiểm tra chúng với tài liệu ImageToTextTask. Đối với mẫu API Python rộng hơn, xem cách tích hợp API giải CAPTCHA trong Python.
Những Thay Đổi Cho reCAPTCHA v3?
Kiến trúc trình duyệt vẫn giữ nguyên, nhưng nhiệm vụ CapSolver và tham số trang phải khớp với triển khai v3. Đặc biệt:
- Sử dụng loại nhiệm vụ reCAPTCHA v3 được hỗ trợ bởi CapSolver.
- Cung cấp giá trị hành động mong đợi bởi trang khi tích hợp sử dụng một.
- Đọc URL và khóa trang từ trang đang hoạt động thay vì từ ví dụ không liên quan.
- Giữ mã token kết quả trong cùng phiên làm việc trình duyệt và nộp nó trước khi hết hạn.
- Xác minh phản hồi của ứng dụng. Một điểm số hoặc mã token được trả về bởi API không đảm bảo rằng ứng dụng đích chấp nhận yêu cầu.
Không mở một trang mới mà không có cookie và trạng thái phiên ban đầu chỉ để nộp mã token. Điều này phá vỡ bối cảnh mà ứng dụng đích có thể sử dụng khi đánh giá kết quả.
Xử Lý Sự Cố Với CloakBrowser và CapSolver
Script khởi động Chromium của Playwright tiêu chuẩn
Mã này khởi động Chromium của Playwright, không phải CloakBrowser:
python
from playwright.sync_api import sync_playwright
pw = sync_playwright().start()
browser = pw.chromium.launch()
Sử dụng trình khởi động CloakBrowser thay thế:
python
from cloakbrowser import launch
browser = launch()
Theo kho lưu trữ CloakBrowser, playwright install-deps chromium có thể hữu ích trên Linux khi thiếu thư viện hệ thống. Chạy playwright install chromium khác biệt: nó tải về trình duyệt của Playwright và không sửa chữa đường dẫn khởi động CloakBrowser.
CapSolver trả về mã token nhưng trang từ chối nó
Kiểm tra từng ranh giới theo thứ tự:
websiteURLlà URL đầy đủ được sử dụng bởi trang hiện tại;websiteKeythuộc về trang đó;- loại nhiệm vụ được chọn và hành động tùy chọn khớp với thử thách;
- mã token được viết vào trường mong muốn hoặc được truyền đến hàm gọi lại của trang;
- trang chưa được tải lại hoặc thay thế thử thách;
- cookie, proxy, agent người dùng và bối cảnh trình duyệt vẫn nhất quán;
- phản hồi của trang đích hoặc ứng dụng cuối cùng xác nhận sự chấp nhận.
Nhiệm vụ hình ảnh không trả về văn bản
Xác minh rằng dữ liệu hình ảnh là Base64 hợp lệ, tiền tố Data URL đã được loại bỏ, mô-đun được chọn hỗ trợ hình ảnh, và trường phản hồi khớp với tài liệu hiện tại. Lưu lại mã lỗi và ID nhiệm vụ CapSolver để gỡ lỗi, nhưng không ghi lại khóa API hoặc dữ liệu trang nhạy cảm.
Điều hướng chờ đợi mãi sau khi nộp
Không phải mọi lần nộp đều gây ra điều hướng đầy đủ. Một số trang cập nhật DOM hoặc thực hiện yêu cầu XHR thay thế. Thay thế expect_navigation() bằng điều kiện thực sự đại diện cho thành công: một locator trở nên hiển thị, thay đổi URL, sự kiện phản hồi, hoặc phần tử trạng thái cụ thể của ứng dụng. Tài liệu API Browser chính thức của Playwright là nguồn tốt nhất cho hành vi API hiện tại.
Tự Động Hóa Có Trách Nhiệm Và Tin Cậy
Hệ thống CAPTCHA là các cơ chế kiểm soát truy cập và ngăn chặn lạm dụng. Sử dụng CapSolver và CloakBrowser chỉ cho tự động hóa hợp pháp trên các hệ thống bạn sở hữu hoặc có sự cho phép rõ ràng để kiểm thử. Tôn trọng các điều khoản của trang web, giới hạn tốc độ, yêu cầu về quyền riêng tư và các luật pháp có liên quan. Không sử dụng tự động hóa để truy cập dữ liệu riêng tư, tạo lưu lượng gây lạm dụng hoặc can thiệp vào người dùng khác.
Đối với kiểm thử chất lượng (QA) và giám sát, hãy ưu tiên các môi trường kiểm thử chuyên dụng và khóa kiểm thử của nhà cung cấp khi có sẵn. Ghi lại URL trang, loại tác vụ, ID tác vụ, thời gian đã trôi qua và trạng thái ứng dụng cuối cùng để có thể truy xuất lỗi mà không lưu trữ thông tin đăng nhập hoặc dữ liệu cá nhân. Hướng dẫn Tự động hóa CAPTCHA cho kiểm thử chất lượng cung cấp thêm các mẫu cho quy trình kiểm thử có kiểm soát.
Xây dựng quy trình tự động hóa đáng tin cậy với CapSolver
CloakBrowser có thể cung cấp môi trường trình duyệt tương thích Playwright, trong khi CapSolver xử lý các tác vụ CAPTCHA được hỗ trợ. Việc tách biệt các trách nhiệm này giúp quy trình dễ kiểm thử hơn: đọc thử thách từ trang hiện tại, yêu cầu giải pháp phù hợp, gửi nó trong cùng một ngữ cảnh và xác minh kết quả ứng dụng.
Thử CapSolver cho quy trình CloakBrowser hoặc Playwright được ủy quyền, và tham khảo tài liệu hiện tại trước khi chuyển mã demo vào sản xuất.
Câu hỏi thường gặp
Câu hỏi: CloakBrowser có phải là người giải CAPTCHA không?
Không. CloakBrowser cung cấp trình duyệt Chromium và giao diện tự động hóa tương thích Playwright. Một dịch vụ riêng biệt như CapSolver xử lý các tác vụ CAPTCHA được hỗ trợ.
Câu hỏi: Một đoạn script Playwright hiện có có thể sử dụng CloakBrowser không?
Thông thường là được. Thay thế đường dẫn khởi động trình duyệt bằng from cloakbrowser import launch, sau đó tiếp tục sử dụng đối tượng Playwright Browser, trang, locator và phương thức đánh giá. Kiểm tra các tùy chọn và phụ thuộc đặc trưng của trình duyệt trong môi trường của bạn.
Câu hỏi: Tại sao kết quả CAPTCHA phải được gửi trong cùng một ngữ cảnh trình duyệt?
Ứng dụng mục tiêu có thể liên kết thử thách với cookie, địa chỉ proxy, tín hiệu trình duyệt, URL hoặc dữ liệu phiên khác. Chuyển đổi ngữ cảnh có thể khiến các tham số thử thách hợp lệ trở nên không nhất quán.
Câu hỏi: Tôi ở đâu có thể tìm thấy khóa trang web reCAPTCHA?
Sử dụng khóa được cấu hình trên trang bạn được ủy quyền để tự động hóa. Nó có thể xuất hiện trong mã nhúng hoặc script trang. Không sao chép khóa từ hướng dẫn hoặc miền không liên quan.
Câu hỏi: Một token của CapSolver đảm bảo thành công không?
Không. Một token là kết quả trung gian. Điều kiện thành công cuối cùng là phản hồi từ trang web hoặc ứng dụng mục tiêu sau khi token được gửi đúng và đúng thời hạn.
Câu hỏi: Tích hợp này có thể xử lý CAPTCHA hình ảnh không?
Nhiệm vụ ImageToTextTask của CapSolver hỗ trợ các mô-đun nhận dạng hình ảnh được tài liệu hóa. Trích xuất hình ảnh từ trang được ủy quyền, gửi dữ liệu Base64 yêu cầu và nhập văn bản trả về thông qua cùng một trang CloakBrowser.
Câu hỏi: Các khóa API và giấy phép có nên xuất hiện trong script không?
Không. Các ví dụ sử dụng các mẫu dễ nhận biết. Mã sản xuất nên đọc bí mật từ biến môi trường hoặc quản lý bí mật và tuyệt đối không đưa chúng vào kiểm soát nguồn.
Câu hỏi: Tôi nên kiểm thử tích hợp này một cách an toàn như thế nào?
Bắt đầu với các demo của nhà cung cấp hoặc ứng dụng bạn kiểm soát. Sử dụng tốc độ yêu cầu có giới hạn, ghi lại ID tác vụ và kết quả cuối cùng, và chỉ chuyển sang trang web sản xuất khi bạn có sự cho phép và nhu cầu vận hành rõ ràng.
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 cài đặt CapSolver MCP từ MCP Registry chính thức
Tìm CapSolver MCP trong Cơ sở dữ liệu MCP Chính thức, cài đặt phiên bản 0.1.3 bằng uvx hoặc pip, cấu hình một client cục bộ và kiểm tra các công cụ stdio.

Anh Tuan
18-Sep-2026

Công cụ CAPTCHA AI Pydantic: Đầu vào có kiểu và Kết quả giải
Thêm công cụ CAPTCHA vào Pydantic AI bằng cách sử dụng adapter CapSolver chính thức, kiểm tra việc thực thi công cụ tại chỗ, và xử lý đầu vào có kiểu và kết quả giải quyết có cấu trúc.

Anh Tuan
18-Sep-2026

MCP so với CLI cho các tác nhân AI: Chi phí ngữ cảnh và Xử lý lỗi
So sánh các giao diện MCP và CLI cho các tác nhân AI theo các yếu tố khám phá công cụ, chi phí ngữ cảnh, bảo mật, gỡ lỗi, xử lý sự cố và kiến trúc lai.

Anh Tuan
18-Sep-2026

Cách xử lý nhiều khối CAPTCHA trong các tác nhân trình duyệt AI
Xử lý nhiều phần tử CAPTCHA trên một trang với sự sở hữu biểu mẫu rõ ràng, tham số giải quyết, định tuyến kết quả và kiểm tra hành động của đại diện AI mong muốn.

Lucas Mitchell
15-Sep-2026

Các Đại diện AI so với Các Kịch Bản: Cách Chọn Cho Tự Động Hóa Web
Chọn giữa các tác nhân AI, các tập lệnh và tự động hóa web lai dựa trên độ không chắc chắn của nhiệm vụ, khả năng kiểm thử, chi phí và các biện pháp kiểm soát cần thiết để thực thi đáng tin cậy.

Lucas Mitchell
11-Sep-2026

Máy chủ MCP của CapSolver đã có sẵn cho các tác nhân AI
Cài đặt Máy chủ CapSolver MCP từ PyPI và cung cấp cho các đại diện AI tương thích năm công cụ để xử lý CAPTCHA được ủy quyền qua Giao thức Bối cảnh Mô hình.

Anh Tuan
10-Sep-2026


