Chuyển tới nội dung chính

Captcha

Đọc một thử thách, thực hiện nó, và canh chừng thử thách để xác nhận đáp án được chấp nhận.

Mục đích

Đưa một flow vượt qua cổng thử thách trong một node. Nó đọc thử thách, thực hiện đáp án (gõ, kéo, xoay, hay chạm), rồi xác minh trạng thái thử thách trước khi quyết nó thật sự được giải.

SolvedUnsolved là port thật thay vì cờ output, vì rẽ theo "ta có qua không" chính là điểm của việc đặt node này.

Khi nào dùng

  • Một cổng thử thách chặn flow bạn kiểm soát đầu-cuối.
  • Bạn cần flow tiếp tục tự động qua một bước xác minh thường quy.

Khi nào không dùng

  • Đọc chữ tùy ý — dùng Read Text.
  • Tìm ảnh — dùng Find Image.
  • Nơi có thể nhắc người vận hành. Con người đáng tin hơn mọi bộ giải tự động.
Dùng có trách nhiệm

Chỉ dùng node này với hệ thống bạn sở hữu hoặc được phép rõ ràng tự động hóa. Cổng thử thách tồn tại để thực thi một chính sách; vượt cổng bạn không có quyền vượt có thể vi phạm điều khoản dịch vụ.

Điều kiện

Vùng thử tháchkiểu của nó là mức tối thiểu không thể giản: thiếu chúng thì không có gì để đọc và không cách biết đọc thế nào.

Bảy kiểu thử thách

KiểuThử tháchHình dạng đáp án
textKý tự méo cần đọc và gõChữ
mathBiểu thức số học cần đọc và tínhSố
sliderMảnh cần kéo ngang vào kheĐộ lệch kéo
puzzleMảnh ghép cần kéo vào chỗ khuyếtĐộ lệch kéo
rotateẢnh cần xoay thẳngGóc
clickOrderVài đích cần chạm theo thứ tự nêuĐiểm có thứ tự
imageSelectLưới ảnh; chạm những ảnh khớp lời nhắcĐiểm

sliderpuzzle sinh cùng hình dạng đáp án nhưng giữ kiểu riêng để editor gọi đúng thứ bạn đang nhìn. clickOrderimageSelect cũng vậy: click-order thứ tự mang nghĩa, image-select thì không.

Hai chế độ

Chế độHành vi
solveAndApplyMặc định. Đọc rồi gõ/kéo để flow qua cổng
solveOnlyNâng cao: công bố đáp án ra biến, không đụng input

Cách nó chạy

Thực hiện đáp án không phải giải captcha

Node không rẽ Solved vì nó đã gõ gì đó. Nó canh thử thách sau đó và chỉ rẽ Solved khi trạng thái thử thách cho thấy đáp án được chấp nhận — biến mất, hay đã xác nhận.

Thử thách bị từ chối thường được thay bằng cái mới, nên lần thử kế là câu đố khác, và điều chỉnh học từ lần từ chối được áp ở vòng sau.

Thiết lập

Thiết lậpKiểuKhoảngMặc địnhGhi chú
Captcha typelựa chọnbảy kiểu trênBắt buộc
Regionhình chữ nhậtphần trăm mànBắt buộc. Nơi thử thách được vẽ
Modelựa chọnsolveAndApply, solveOnlysolveAndApply
Answer field regionhình chữ nhậtô đang focusNơi gõ đáp án
Submit regionhình chữ nhậtChạm sau đáp án. Vắng = không gửi
Handle regionhình chữ nhậtmép tráiSlider/puzzle: tay nắm kéo bắt đầu ở đâu. Rotate: nút xoay
Prompt regionhình chữ nhậtImage-select: nơi thử thách vẽ hình nhắc
Target orderdanh sách≤ 8 mụcClick-order: tên đích theo thứ tự chạm. Image-select: chủ đề nhắc
Grid columnsinteger1–83Chiều rộng lưới image-select
Grid rowsinteger1–83Chiều cao lưới image-select
Select countinteger1–163Chọn mấy ô
Max attemptsinteger1–103Đọc lại và thử lại trong một lần thực thi
Timeoutinteger1–120000 ms60000Ngân sách cả node qua mọi lần thử
Verification delayinteger0–30000 ms1500Chờ sau đáp án trước khi nhìn
Verification timeoutinteger500–30000 ms4000Cận trên thời gian poll chờ trạng thái dứt khoát
Save results to variablesdanh sách≤ 8Gán trường output vào biến

Verification delay là núm quan trọng nhất

Nhìn quá sớm là đọc hiệu ứng, không phải kết cục. Mặc định 1500 ms nằm trong dải phủ thời gian render của các cổng thật — site nhanh hạ được, site chậm nên nâng.

Node báo Unsolved trên thử thách bạn thấy rõ đã được chấp nhận? Gần như luôn là thiết lập này cần đổi.

Prompt region cho image-select

Khi lưới chọn-ảnh vẽ lời nhắc dạng hình thay vì chữ, prompt region là thứ làm thử thách trả lời được. Thiếu nó, bộ giải bị hỏi "những ô nào đi cùng nhau" — một câu hỏi khác và khó hơn nhiều.

Max attempts không phải node retry

maxAttempts đọc lại và thử lại trong một lần thực thi, vì thử thách thường render lại sau đáp án sai. Khác hẳn retry policy cấp node, thứ phủ lỗi vận hành chứ không phải đáp án sai.

Port

PortĐi vào khiBắt buộc
SolvedTrạng thái thử thách xác nhận đáp án được chấp nhận
UnsolvedHết lượt mà không được chấp nhậnKhông — khoan dung; trống thì kết thúc flow nhẹ nhàng
FailureVận hành: không khung, input bị từ chối, engine thiếuKhông
CancelledLần chạy dừngKhông — không bao giờ được đi
FatalCấu hình saiKhông — không bao giờ được đi

Failure khác Unsolved có chủ đích: một cái nghĩa máy móc hỏng, cái kia nghĩa đáp án sai.

Ví dụ cơ bản

Thử thách chữ có nút gửi:

  • Captcha type: text
  • Region: ảnh ký tự méo
  • Answer field region: ô nhập
  • Submit region: nút Verify

Ví dụ thực tế — cổng có đường bỏ cuộc sạch

UnsolvedFailure về hai kết thúc khác nhau, vì chúng là hai vấn đề khác: một đáp án sai, một máy móc hỏng.

Ví dụ nâng cao — solveOnly

Dùng solveOnly khi flow cần tự thực hiện đáp án — ví dụ khi đáp án phải kết hợp input khác, hay nút gửi cần một cử chỉ riêng:

  • Mode: solveOnly
  • Save results to variables: gán output đáp án
  • Rồi dùng Input TextClick tường minh

Best practices

  • Đặt verification delay khớp site. Đây là thiết lập tác động lớn nhất.
  • Nối Unsolved và Failure riêng. Chúng cần xử lý khác nhau.
  • Cho vùng thử thách một hình chữ nhật sát, ổn định.
  • Đặt submit region để cả cổng là một node.
  • Với image-select, luôn đặt prompt region khi lời nhắc là hình.
  • Giữ max attempts quanh 3. Nhiều hơn hiếm khi giúp, và mỗi lần thử tốn một vòng xác minh đủ.
  • Luôn có đường bỏ cuộc sạch. Flow lặp mãi trên một thử thách tệ hơn flow biết dừng.

Ghi chú hiệu năng

  • Đây là node đắt nhất sản phẩm. Mỗi lần thử là một đọc, một chuỗi input, một trễ, và một poll xác minh.
  • Xấu nhất ≈ maxAttempts × (đọc + thực hiện + trễ xác minh + timeout xác minh), giới hạn bởi node timeout (mặc định 60000 ms).
  • Trễ xác minh trả mọi lần thử bất kể kết cục; timeout xác minh chỉ cắn khi vùng không bao giờ ổn định.
  • Đặt node sau một phép kiểm Find Image để nó chỉ chạy khi thử thách thật sự hiện diện.

Ghi chú bộ nhớ

  • Mỗi lần thử chụp và xử lý ảnh thử thách; working set theo cỡ vùng thử thách.
  • Giải lưới image-select xử lý từng ô, nên lưới lớn tốn hơn 3×3.
  • Không gì bền giữa các lần chạy.

Lỗi thường gặp

LỗiHậu quảCách sửa
Verification delay quá ngắnĐọc hiệu ứng → Unsolved giảNâng nó
Coi Unsolved và Failure như nhauChe engine hỏng thành đáp án saiNối riêng
Vùng dính khung xung quanhĐọc kémThu vùng
Không prompt region trên lưới nhắc-hìnhBộ giải không biết chọn gìĐặt nó
Max attempts 10Lần chạy dài, tốn kémQuanh 3
Chạy vô điều kiệnTrả chi phí mỗi lần chạyGác sau Find Image
Bỏ trống SolvedPort bắt buộcNối nó

Khắc phục sự cố

Unsolved trên thử thách rõ ràng đã thành. Nâng verification delay — node nhìn trước khi cổng cập nhật.

Luôn rẽ Failure. Vận hành, không phải đáp án: không chụp được khung, input bị từ chối, hay engine thiếu. Kiểm kết nối thiết bị và input mode.

Slider kéo sai chỗ. Đặt handle region để cú kéo bắt đầu đúng nơi tay nắm ở.

Image-select chọn sai ô. Kiểm grid rows/columns và select count, và đặt prompt region nếu lời nhắc là hình.

Node tốn rất lâu. maxAttempts × vòng xác minh. Hạ số lần thử, hoặc hạ timeout xác minh.

FAQ

Bao nhiêu lần thử trong một lần thực thi? Tối đa maxAttempts, mặc định 3.

Lưới mặc định? 3×3, chọn 3 — khớp mọi thử thách nine-image thường thấy.

Node có tự gõ đáp án không? Chế độ solveAndApply thì có. solveOnly chỉ công bố đáp án.

If sau có kiểm kết cục captcha được không? Được — If chế độ Node outcomeCaptcha solved / Captcha unsolved.

Ngân sách cả node? Mặc định 60000 ms qua mọi lần thử.

Node liên quan

  • Find Image — phát hiện thử thách hiện diện
  • Input Text — gõ ở chế độ solveOnly
  • Click — gửi ở chế độ solveOnly
  • If — rẽ theo kết cục captcha về sau

Trang liên quan