Cách giải Captcha trong RoxyBrowser với tích hợp CapSolver

Anh Tuan
Data Science Expert
04-Feb-2026

RoxyBrowser cung cấp chức năng trình duyệt thông qua các lời gọi API và có thể tích hợp với các khung phần mềm tự động hóa như Selenium, Puppeteer và Playwright. API của nó được thiết kế để bạn mở các hồ sơ trình duyệt thực tế một cách chương trình và gắn công cụ tự động hóa của bạn. API có giới hạn tốc độ được ghi chú là 100 lời gọi mỗi phút cho mỗi điểm cuối.
Nguồn: https://faq.roxybrowser.org/en/guide/10-API
CapSolver cung cấp luồng API tạo và kiểm tra kết quả trả về một mã CAPTCHA bạn có thể chèn vào trang. CapSolver hỗ trợ nhiều loại CAPTCHA:
- reCAPTCHA v2: Loại nhiệm vụ
ReCaptchaV2TaskProxyLess, trả vềgRecaptchaResponse - reCAPTCHA v3: Loại nhiệm vụ
ReCaptchaV3TaskProxyLess, trả vềgRecaptchaResponsekèm theo điểm số - Cloudflare Turnstile: Loại nhiệm vụ
AntiTurnstileTaskProxyLess, trả vềtokenXem tài liệu
Hướng dẫn này trình bày một luồng thực tế, không phụ thuộc vào khung phần mềm: mở một hồ sơ Roxy thông qua API, gắn khung phần mềm tự động hóa của bạn, giải CAPTCHA bằng CapSolver, và chèn mã token để tiếp tục.
RoxyBrowser là gì?
RoxyBrowser là trình duyệt chống phát hiện cho việc quản lý nhiều tài khoản với các tính năng như tự động hóa API và bộ đồng bộ đa cửa sổ.
Đối với tự động hóa, API là phần quan trọng nhất:
-
Nó hỗ trợ tích hợp với Selenium, Puppeteer và Playwright.
-
Các yêu cầu phải bao gồm tiêu đề
token. -
Host API mặc định là
http://127.0.0.1:50000(thay đổi cổng yêu cầu khởi động lại).
CapSolver là gì?
CapSolver giải CAPTCHA thông qua hai lời gọi API:
createTaskđể gửi tham số CAPTCHAgetTaskResultđể kiểm tra cho đến khi token sẵn sàng
Đối với reCAPTCHA v2, CapSolver trả về gRecaptchaResponse.
getTaskResult bị giới hạn ở 120 lần truy vấn cho mỗi nhiệm vụ và phải được gọi trong vòng 5 phút kể từ khi tạo nhiệm vụ.
Cài đặt API RoxyBrowser
1) Kích hoạt API và lấy token của bạn
- Mở RoxyBrowser và truy cập API.
- Thiết lập công tắc API thành Bật.
- Sao chép khóa API (token) và xác nhận host/cổng.
Mặc định, host là http://127.0.0.1:50000. Nếu bạn thay đổi cổng, bạn phải khởi động lại RoxyBrowser.
2) Lấy ID workspace và ID hồ sơ
Sử dụng /browser/workspace để lấy workspace, sau đó /browser/list_v3 để liệt kê hồ sơ.
python
import requests
BASE = "http://127.0.0.1:50000"
HEADERS = {"token": "YOUR_ROXY_API_KEY"}
workspaces = requests.get(f"{BASE}/browser/workspace", headers=HEADERS).json()
workspace_id = workspaces["data"]["rows"][0]["id"]
profiles = requests.get(
f"{BASE}/browser/list_v3",
params={"workspaceId": workspace_id},
headers=HEADERS
).json()
dir_id = profiles["data"]["rows"][0]["dirId"]
3) Mở một hồ sơ và thu thập các điểm cuối tự động hóa
Gọi /browser/open. Trả về bao gồm:
ws: Giao diện WebSocket cho công cụ tự động hóahttp: Giao diện HTTP cho công cụ tự động hóadriver: Đường dẫn WebDriver cho tích hợp Selenium
Chế độ ẩn danh không được hỗ trợ.
python
open_resp = requests.post(
f"{BASE}/browser/open",
json={"workspaceId": workspace_id, "dirId": dir_id, "args": []},
headers=HEADERS
).json()
ws_endpoint = open_resp["data"]["ws"]
http_endpoint = open_resp["data"]["http"]
driver_path = open_resp["data"]["driver"]
4) Gắn khung phần mềm tự động hóa của bạn
Sử dụng các điểm cuối được trả về để gắn khung phần mềm của bạn:
- Puppeteer/Playwright có thể kết nối thông qua WebSocket DevTools hoặc điểm cuối HTTP.
- Selenium có thể sử dụng đường dẫn
drivervới kết nối trình gỡ lỗi.
Các bước gắn kết cụ thể phụ thuộc vào khung phần mềm của bạn, nhưng các giá trị ws, http và driver được cung cấp rõ ràng cho công cụ tự động hóa.
Helper CapSolver (Python)
python
import time
import requests
CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"
CAPSOLVER_BASE = "https://api.capsolver.com"
def create_task(task):
payload = {"clientKey": CAPSOLVER_API_KEY, "task": task}
r = requests.post(f"{CAPSOLVER_BASE}/createTask", json=payload)
data = r.json()
if data.get("errorId", 0) != 0:
raise RuntimeError(data.get("errorDescription", "Lỗi CapSolver"))
return data["taskId"]
def get_task_result(task_id, delay=2):
while True:
time.sleep(delay)
r = requests.post(
f"{CAPSOLVER_BASE}/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
)
data = r.json()
if data.get("status") == "ready":
return data["solution"]
if data.get("status") == "failed":
raise RuntimeError(data.get("errorDescription", "Nhiệm vụ thất bại"))
def solve_recaptcha_v2(website_url, website_key):
task = {
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key
}
task_id = create_task(task)
solution = get_task_result(task_id)
return solution.get("gRecaptchaResponse", "")
def solve_recaptcha_v3(website_url, website_key, page_action="verify"):
task = {
"type": "ReCaptchaV3TaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key,
"pageAction": page_action
}
task_id = create_task(task)
solution = get_task_result(task_id)
return solution.get("gRecaptchaResponse", "")
def solve_turnstile(website_url, website_key, action=None, cdata=None):
task = {
"type": "AntiTurnstileTaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key
}
# Thêm dữ liệu tùy chọn nếu có
if action or cdata:
task["metadata"] = {}
if action:
task["metadata"]["action"] = action
if cdata:
task["metadata"]["cdata"] = cdata
task_id = create_task(task)
solution = get_task_result(task_id)
return solution.get("token", "")
Tham khảo:
Luồng toàn diện: reCAPTCHA v2
-
Mở một hồ sơ Roxy thông qua
/browser/openvà gắn khung phần mềm tự động hóa của bạn. -
Đi đến trang đích và trích xuất khóa trang.
Ví dụ:javascriptconst siteKey = document.querySelector(".g-recaptcha")?.getAttribute("data-sitekey"); -
Giải bằng CapSolver sử dụng helper phía trên.
-
Chèn mã token và gửi biểu mẫu:
javascriptconst token = "CAPSOLVER_TOKEN"; const el = document.getElementById("g-recaptcha-response"); el.style.display = "block"; el.value = token; el.dispatchEvent(new Event("input", { bubbles: true })); el.dispatchEvent(new Event("change", { bubbles: true }));
Luồng toàn diện: reCAPTCHA v3
reCAPTCHA v3 hoạt động khác - nó chạy ở nền và trả về điểm số (0.0 đến 1.0) thay vì yêu cầu tương tác người dùng.
-
Trích xuất khóa trang và hành động từ trang:
javascript// Khóa trang thường ở trong script hoặc thẻ meta const siteKey = document.querySelector('[data-sitekey]')?.getAttribute('data-sitekey'); // Hành động được tìm thấy trong các cuộc gọi grecaptcha.execute // Tìm trong mã nguồn trang: grecaptcha.execute('KEY', {action: 'ACTION'}) const pageAction = "submit"; // hoặc "login", "register", v.v. -
Giải bằng CapSolver:
pythontoken = solve_recaptcha_v3( website_url="https://example.com/login", website_key="6LcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAA", page_action="login" ) -
Chèn mã token (giống như v2):
javascriptconst token = "CAPSOLVER_TOKEN"; document.getElementById("g-recaptcha-response").value = token; // Nếu có callback, kích hoạt nó if (typeof ___grecaptcha_cfg !== 'undefined') { const clients = ___grecaptcha_cfg.clients; Object.keys(clients).forEach(key => { if (clients[key].callback) { clients[key].callback(token); } }); }
Luồng toàn diện: Cloudflare Turnstile
Cloudflare Turnstile là một lựa chọn CAPTCHA hiện đại, nhanh hơn để giải (1-20 giây).
-
Trích xuất khóa trang Turnstile:
javascriptconst siteKey = document.querySelector('.cf-turnstile')?.getAttribute('data-sitekey'); // Tùy chọn: trích xuất hành động và cdata nếu có const action = document.querySelector('.cf-turnstile')?.getAttribute('data-action'); const cdata = document.querySelector('.cf-turnstile')?.getAttribute('data-cdata'); -
Giải bằng CapSolver:
pythontoken = solve_turnstile( website_url="https://example.com", website_key="0x4AAAAAAAxxxxxxxxxxxxxxx", action=action, // tùy chọn cdata=cdata // tùy chọn ) -
Chèn mã Turnstile:
javascriptconst token = "CAPSOLVER_TURNSTILE_TOKEN"; // Tìm trường phản hồi Turnstile const input = document.querySelector('input[name="cf-turnstile-response"]'); if (input) { input.value = token; input.dispatchEvent(new Event('input', { bubbles: true })); input.dispatchEvent(new Event('change', { bubbles: true })); } // Phương án thay thế: một số trang sử dụng tên trường khác const altInput = document.querySelector('input[name="turnstile-response"]'); if (altInput) { altInput.value = token; }
Nguyên tắc tốt nhất
- Tuân thủ giới hạn tốc độ API của RoxyBrowser: 100 lời gọi mỗi phút cho mỗi điểm cuối.
getTaskResultcủa CapSolver bị giới hạn ở 120 lần kiểm tra trong 5 phút.- Sử dụng logic thử lại và giảm dần nếu token bị từ chối.
- Giữ IP người giải và IP duyệt web nhất quán khi trang đích kiểm tra nguồn token.
Sẵn sàng bắt đầu chưa? Đăng ký CapSolver và sử dụng mã thưởng ROXYBROWSER để nhận thêm 6% thưởng cho lần nạp đầu tiên!

FAQ
-
RoxyBrowser có hỗ trợ Selenium, Puppeteer và Playwright không?
Có. API được thiết kế để tích hợp với các khung phần mềm này. -
Tôi lấy token API và host ở đâu?
Từ API -> Cấu hình API trong RoxyBrowser. Host mặc định làhttp://127.0.0.1:50000. -
/browser/opentrả về gì?
Nó trả về các trườngws,httpvàdriverđược sử dụng bởi công cụ tự động hóa. -
Chế độ ẩn danh có được hỗ trợ không?
Không, chế độ ẩn danh không được hỗ trợ. -
CapSolver hỗ trợ những loại CAPTCHA nào?
-
CapSolver trả về token reCAPTCHA v2 như thế nào?
Tạo một nhiệm vụ vớiReCaptchaV2TaskProxyLessvà kiểm tragetTaskResultđể lấygRecaptchaResponse. -
reCAPTCHA v3 khác reCAPTCHA v2 như thế nào?](https://www.capsolver.com/blog/reCAPTCHA/extra-parameters-recaptcha)
reCAPTCHA v3 chạy ở nền mà không cần tương tác người dùng và trả về điểm số (0.0-1.0). Nó yêu cầu tham sốpageAction, có thể được tìm thấy bằng cách tìmgrecaptcha.executetrong mã nguồn trang. -
Làm thế nào để giải Cloudflare Turnstile?
Sử dụng loại nhiệm vụAntiTurnstileTaskProxyLessvớiwebsiteURLvàwebsiteKey. Tùy chọn bao gồmmetadata.actionvàmetadata.cdatanếu có trên widget. Turnstile được giải trong 1-20 giây.
Đọc thêm: -
Làm thế nào để tìm khóa trang Turnstile?
Tìm thuộc tínhdata-sitekeytrên phần tử.cf-turnstile. Khóa trang Turnstile bắt đầu bằng0x4. -
Tôi có cần proxy cho CapSolver không?
Không, các loại nhiệm vụ*ProxyLesssử dụng cơ sở dữ liệu proxy tích hợp của CapSolver. Sử dụng các phiên bản không phải ProxyLess nếu bạn cần sử dụng proxy của riêng mình.
Kết luận
RoxyBrowser cung cấp môi trường trình duyệt dựa trên hồ sơ với các điểm cuối tự động hóa, và CapSolver cung cấp mã token CAPTCHA chương trình. Bằng cách mở một hồ sơ Roxy, gắn khung phần mềm của bạn, và chèn mã token của CapSolver, bạn có thể xây dựng các luồng tự động hóa đáng tin cậy có khả năng xử lý CAPTCHA.
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 giải Captcha trong RoxyBrowser với tích hợp CapSolver
Tích hợp CapSolver với RoxyBrowser để tự động hóa các nhiệm vụ trình duyệt và vượt qua reCAPTCHA, Turnstile và các CAPTCHA khác.

Anh Tuan
04-Feb-2026

Cách giải reCAPTCHA v2 trong Relevance AI với tích hợp CapSolver
Xây dựng một công cụ AI của Relevance để giải quyết reCAPTCHA v2 bằng CapSolver. Tự động hóa việc gửi biểu mẫu qua API mà không cần tự động hóa trình duyệt.

Anh Tuan
03-Feb-2026

Công cụ Ghi dữ liệu Nhanh: Cách nhanh chóng trích xuất dữ liệu web mà không cần code
Khám phá các công cụ trích xuất dữ liệu tức thì tốt nhất cho năm 2026. Học các cách nhanh chóng để trích xuất dữ liệu từ web mà không cần mã nguồn bằng cách sử dụng các tiện ích mở rộng hàng đầu và API để trích xuất tự động.

Nikolai Smirnov
28-Jan-2026

Thu thập dữ liệu từ web các bài báo tin tức bằng Python (Hướng dẫn 2026)
Nắm vững trích xuất dữ liệu từ web bài báo tin tức bằng Python vào năm 2026. Học cách giải reCAPTCHA v2/v3 bằng CapSolver và xây dựng các pipeline dữ liệu có thể mở rộng.

Anh Tuan
28-Jan-2026

Cấm IP vào năm 2026: Cách chúng hoạt động và các cách thực tế để vượt qua chúng
Học cách lách chặn IP vào năm 2026 với hướng dẫn toàn diện của chúng tôi. Khám phá các kỹ thuật chặn IP hiện đại và giải pháp thực tế như proxy nhà ở và trình giải CAPTCHA.

Aloísio Vítor
26-Jan-2026

Cách giải Captcha trong EasySpider với tích hợp CapSolver
EasySpider là công cụ trích xuất dữ liệu web và tự động hóa trình duyệt trực quan, không cần lập trình, và khi kết hợp với CapSolver, nó có thể giải CAPTCHAs như reCAPTCHA v2 và Cloudflare Turnstile một cách đáng tin cậy, cho phép trích xuất dữ liệu tự động liền mạch trên các trang web.

Anh Tuan
26-Jan-2026

