
Anh Tuan
Data Science Expert
Đã xuất bản Sep 22, 2026
Đã cập nhật Sep 22, 2026 · đọc tối thiểu

Một trợ lý mở trang nhưng không thể tiếp tục. Nó có thể đã đạt đến CAPTCHA, tải trang chưa hoàn tất, giới hạn tốc độ, hoặc lỗi biểu mẫu thông thường. Gọi ngay lập tức một công cụ giải quyết có thể biến một vấn đề trình duyệt đơn giản thành chuỗi yêu cầu lặp lại gây nhầm lẫn.
CapSolver cung cấp các phương pháp phát hiện trình duyệt được tài liệu hóa giúp xác định các loại CAPTCHA được hỗ trợ trước khi giải quyết. Chuỗi hữu ích là kiểm tra trang hiện tại, phân loại những gì đã tìm thấy, chọn công cụ liên quan và kiểm tra kết quả cuối cùng. Hướng dẫn này tách biệt các bước và sử dụng một ví dụ nhỏ có thể chạy được. Nó tập trung vào các môi trường QA sở hữu, quy trình trình duyệt được phê duyệt và các trang thử nghiệm công khai, với ranh giới rõ ràng giữa việc phát hiện thử thách và hoàn thành nhiệm vụ ứng dụng.
Sử dụng các phương pháp phát hiện của SDK Core khi ứng dụng của bạn đã kiểm soát một trang trình duyệt tương thích.
Tham khảo SDK Core tài liệu bốn thao tác liên quan: detect(page) trả về các loại CAPTCHA được phát hiện; get_captcha_info(page) đọc tham số được cấu trúc; solve(info) yêu cầu giải pháp; và solve_on_page(page) kết hợp phát hiện dựa trên trình duyệt, giải quyết và điền thông tin lại.
Đối với kiểm tra phát hiện, gọi phương pháp phát hiện. Không sử dụng phương pháp giải quyết đầy đủ chỉ để phát hiện xem trang có chứa thử thách hay không. Việc giữ lựa chọn này rõ ràng giúp dễ hiểu hơn các bước nào cần tài khoản dịch vụ giải quyết và các bước nào chỉ kiểm tra trạng thái trình duyệt.
SDK trả về các giá trị enum loại CAPTCHA thay vì các nhãn tùy ý mà ứng dụng có thể sử dụng trong thông báo trạng thái của riêng nó. Đọc giá trị được tài liệu hóa thay vì tạo bản đồ từ biểu diễn chuỗi.
Giới thiệu CapSolver cho Trợ lý AI giải thích rằng phát hiện và chuẩn bị tham số xảy ra ở phía bạn, trong khi nhận dạng thực tế sử dụng dịch vụ. Sự khác biệt này quan trọng khi đọc nhật ký: một phát hiện cục bộ thành công không phải là bằng chứng rằng yêu cầu giải quyết đã được gửi.
Bắt đầu với một trang thử nghiệm chính thức để bạn có thể kiểm tra quyền truy cập trình duyệt và phương pháp phát hiện mà không liên quan đến quy trình kinh doanh của bạn.
Ví dụ dưới đây điều chỉnh cách sử dụng chính thức của SDK Core create_capsolver và detect. Mã bổ sung mở và đóng trình duyệt Playwright, chờ khung widget thử nghiệm, và in các giá trị enum được trả về.
Môi trường kiểm tra sử dụng Python 3.12, capsolver-core==0.1.1 và playwright==1.63.0. Cài đặt các gói này trong môi trường cô lập và cài đặt trình duyệt Chromium tương ứng:
python -m pip install "capsolver-core[playwright]==0.1.1" "playwright==1.63.0"
python -m playwright install chromium --only-shell
Hướng dẫn cài đặt Python của Playwright được mô tả tại đây giải thích các bước cài đặt gói và trình duyệt riêng biệt. Việc cài đặt gói Python riêng lẻ không đảm bảo rằng trình duyệt tương ứng sẽ có mặt.
Lưu tệp này dưới tên detect_demo.py:
import asyncio
from capsolver_core import create_capsolver
from playwright.async_api import async_playwright
async def main():
async with async_playwright() as p:
browser = await p.chromium.launch()
try:
page = await browser.new_page()
await page.goto(
"https://www.google.com/recaptcha/api2/demo",
wait_until="domcontentloaded",
)
await page.wait_for_selector('iframe[title="reCAPTCHA"]')
async with create_capsolver(api_key="YOUR_API_KEY") as cap:
types = await cap.detect(page)
print([item.value for item in types])
finally:
await browser.close()
asyncio.run(main())
Chạy nó với python detect_demo.py. Trong lần kiểm tra, kết quả in ra thực tế là ['reCaptchaV2'].
Khóa mẫu đủ vì ví dụ này chỉ thực hiện phát hiện. Nó không gọi API giải quyết, nhấp vào thử thách, gửi biểu mẫu thử nghiệm hoặc xác minh token. Một thao tác giải quyết thực tế yêu cầu tài khoản dịch vụ và đầu vào nhiệm vụ phù hợp.
Lần chạy này xác nhận đường phát hiện được mô phỏng trên trang đó vào thời điểm kiểm tra. Nó không thiết lập khả năng phát hiện toàn diện hoặc tỷ lệ thành công giải quyết.
Xem phát hiện như là quan sát trang tại một thời điểm cụ thể.
Trang có thể hoàn tất điều hướng ban đầu trước khi các phần tử hoặc kiểm soát ứng dụng xuất hiện. Trong ví dụ, domcontentloaded được theo sau bởi việc chờ khung thử nghiệm đã biết. Đối với trang khác, chọn điều kiện sẵn sàng tương ứng với giao diện thực tế của nó.
API Trang Playwright mô tả hành vi điều hướng trang và chờ phần tử. Một kiểm tra sẵn sàng nên giúp xác định trạng thái được kiểm tra, thay vì đưa ra một khoảng thời gian chờ dài không điều kiện.
Khi bộ phát hiện trả về một loại, ghi lại đủ bối cảnh để kết nối kết quả đó với nhiệm vụ bị gián đoạn: trang được phê duyệt, thời gian và mô tả ngắn về hoạt động đang chờ. Bạn không cần một khung máy trạng thái lớn để bắt đầu.
Khi bộ phát hiện trả về danh sách trống, kiểm tra trang trước khi tiếp tục. Nội dung có thể là bình thường, vẫn đang tải, không được bộ phát hiện này hỗ trợ hoặc bị ảnh hưởng bởi vấn đề khác. "Không phát hiện" và "nhiệm vụ thành công" là hai tuyên bố riêng biệt.
Một phần tử HTML đơn giản với lớp giống CAPTCHA cũng không nhất thiết giống như một phần tử được khởi tạo. Kiểm tra hành vi trang thực tế, đặc biệt là sau các thay đổi trong cách trang hiển thị các kiểm soát xác minh của nó.
Gửi trang đến đường dẫn xử lý CAPTCHA chỉ khi bằng chứng hỗ trợ phân loại đó.
Một CAPTCHA là một sự gián đoạn có thể xảy ra. Phiên hết hạn, trường biểu mẫu không hợp lệ, quyền truy cập bị thiếu hoặc lỗi mạng cần phản hồi khác. Nếu trang hiển thị nhiều thông báo, kiểm tra thông báo nào ngăn cản hoạt động dự định.
Ví dụ, HTTP 429 cho biết giới hạn tốc độ yêu cầu và có thể bao gồm thời gian chờ lại. Nó không phải là bằng chứng duy nhất rằng CAPTCHA hiện diện. Bộ phát hiện và phản hồi ứng dụng nên cung cấp thông tin cho các phần khác nhau của quyết định.
Giữ hành động tiếp theo đơn giản:
Đây là ranh giới thực tế được mô tả trong bài viết liên quan về nhiệm vụ của trợ lý AI bị mắc kẹt ở CAPTCHA. Phát hiện nên làm cho quyết định tiếp theo rõ ràng hơn, không tạo ra một vòng lặp khác quanh mỗi trang thất bại.
Nhận mã ưu đãi CapSolver của bạn
Tăng ngân sách tự động hóa của bạn ngay lập tức!
Sử dụng mã ưu đãi CAP26 khi nạp tiền vào tài khoản CapSolver để nhận thêm 5% ưu đãi cho mỗi lần nạp tiền — không giới hạn.
Nhận mã ngay tại Bảng điều khiển CapSolver
Chọn lớp tích hợp phù hợp với ứng dụng đã kiểm soát nhiệm vụ.
Một đoạn mã Python có thể sử dụng SDK Core trực tiếp. Một ứng dụng dựa trên LLM có thể mở rộng các thao tác được hỗ trợ thông qua bộ thích ứng công cụ trợ lý. Một khách hàng MCP cần dịch vụ MCP được cấu hình và truy cập vào các khả năng mà dịch vụ thực sự cung cấp.
Tài liệu về công cụ trợ lý mô tả mối quan hệ của bộ thích ứng với động cơ chính. Việc thêm mô tả công cụ vào prompt không kết nối nó tự động với trình duyệt. Người thực thi vẫn cần ngữ cảnh chạy cần thiết.
Đối với triển khai ban đầu, giữ phát hiện và hành động tiếp theo được phê duyệt gần nhau. Nếu trình duyệt đã điều hướng kể từ khi phát hiện, kiểm tra trạng thái trang mới thay vì sử dụng lại tham số cũ mà không kiểm tra.
Không thêm mọi phương pháp có sẵn vào trợ lý chỉ vì chúng tồn tại. Mở rộng các thao tác cần thiết cho nhiệm vụ và xác định khi ứng dụng nên dừng lại. Giữ lựa chọn công cụ nhỏ giúp dễ khắc phục sự cố hơn.
Xác minh từng giai đoạn theo kết quả mong đợi riêng.
Phát hiện nên báo cáo những gì SDK tìm thấy. Đọc tham số nên tạo ra các trường cần thiết cho nhiệm vụ được chọn. Gọi giải quyết nên trả về kết quả được tài liệu hóa hoặc lỗi. Quy trình trình duyệt nên đạt được trang, dữ liệu hoặc xác nhận riêng của nó.
Đối với việc đọc danh mục được phê duyệt, thành công có nghĩa là nhận được dữ liệu của mặt hàng được yêu cầu. Đối với biểu mẫu thử nghiệm, thành công có nghĩa là quan sát thông báo của ứng dụng. Một bộ phát hiện trả về loại không đáp ứng bất kỳ điều kiện nào.
Sử dụng một tập hợp nhỏ các kiểm tra khi xác minh tích hợp của bạn:
Những kiểm tra này kiểm tra các quyết định ứng dụng thay vì hứa hẹn rằng mọi thách thức thực tế đều được hỗ trợ. Giữ đầu ra bộ phát hiện thực tế sẵn có để gỡ lỗi thay vì thay thế bằng thông báo "CAPTCHA đã được giải quyết".
Gán cho mỗi nhiệm vụ điểm dừng rõ ràng và kiểm tra các sự cố lặp lại trước khi thực hiện thêm công việc.
Nếu cùng một thử thách xuất hiện lại, xem xét liệu trang có thay đổi, trình xử lý đã hoàn thành hay ứng dụng đã chấp nhận kết quả. Phát hiện lặp lại khác với việc tạo ra một nhiệm vụ giải quyết được tính phí. Theo dõi các hành động này riêng biệt để quan sát vô hại không trở thành các lần gửi lại thầm lặng.
Một bản ghi chẩn đoán ngắn thường đủ: danh tính trang, loại phát hiện, kết quả trình xử lý và kết quả ứng dụng. Hướng dẫn ghi nhật ký của OWASP khuyến khích bảo vệ thông tin nhạy cảm trong nhật ký vận hành. Loại bỏ khóa API, cookie phiên, token giải quyết thô và nội dung trang không cần thiết.
Khi chuyển từ một thử nghiệm đơn lẻ sang công việc định kỳ, giữ cùng các kiểm tra rõ ràng. Tăng phạm vi dần dần, xem xét các sự cố theo nguyên nhân và dừng lại nếu nhiệm vụ được phê duyệt hoặc điều kiện truy cập thay đổi. Sự phức tạp nên theo sau nhu cầu được chứng minh.
Phát hiện đáng tin cậy cung cấp bằng chứng tốt hơn cho hành động tiếp theo của trợ lý. Nó không thay thế việc giải quyết, kiểm tra trạng thái trình duyệt hoặc xác nhận từ ứng dụng.
Bắt đầu với ví dụ nhỏ, thích ứng kiểm tra sẵn sàng với trang được phê duyệt của bạn và sử dụng CapSolver cho bước thử thách được hỗ trợ khi cần thiết. Giữ chuỗi đơn giản: quan sát, phân loại, xử lý, xác minh.
Câu hỏi: Cách nào để trợ lý AI phát hiện CAPTCHA?
Ứng dụng có thể kiểm tra trang trình duyệt đang chạy bằng phương pháp phát hiện được hỗ trợ và trả lại bằng chứng đó cho trợ lý. SDK Core của CapSolver tài liệu phương pháp detect trả về các loại CAPTCHA được nhận diện.
Câu hỏi: Phát hiện có yêu cầu yêu cầu giải quyết có trả phí không?
Lời gọi phát hiện chỉ định đã kiểm tra trang trình duyệt mà không gọi dịch vụ giải quyết. Giải quyết là thao tác riêng yêu cầu tài khoản và đầu vào nhiệm vụ phù hợp.
Câu hỏi: Kết quả phát hiện trống có nghĩa là gì?
Nó có nghĩa là không tìm thấy loại nào được hỗ trợ trong trạng thái trang được kiểm tra. Kiểm tra sẵn sàng, lỗi trang và phạm vi bộ phát hiện trước khi xem xét kết quả này là quyền tiếp tục.
Câu hỏi: Mẫu có thể phát hiện mọi CAPTCHA trên mọi trang không?
Không. Mẫu đã được kiểm tra trên một trang thử nghiệm reCAPTCHA chính thức. Các loại thử thách khác, mô hình hiển thị và ngữ cảnh trình duyệt cần kiểm tra riêng.
Câu hỏi: Khi nào trợ lý nên dừng lại?
Dừng lại khi trạng thái trang không rõ ràng, quy trình rời khỏi phạm vi được phê duyệt hoặc xử lý lặp lại không tạo ra tiến bộ được xác nhận. Báo cáo lý do quan sát thay vì tiếp tục chuỗi không giới hạn.

Anh Tuan
Data Science Expert
Turning task outcomes into actionable insights.
GIỚI THIỆU TÁC GIẢ
So sánh cách trình duyệt xử lý CAPTCHA trong trình duyệt địa phương và đám mây, hiểu nơi nào CapSolver phù hợp, và chọn cài đặt thực tế cho quy trình của đại lý được ủy quyền.

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.
