Input chuột và bàn phím chuyển động như người thật
Automation thông thường dịch chuyển con trỏ tức thời và gõ phím với tốc độ của máy. Khi bật humanize, mọi thao tác click, hover, fill, kéo thả và cuộn trong Playwright đều đi qua cùng một luồng mô phỏng người thật: con trỏ di chuyển theo đường cong với gia tốc mượt, gõ từng phím với nhịp tự nhiên và cuộn có quán tính, tất cả được gửi dưới dạng event native trusted.
Có ở mọi gói. Trên gói Pro, click theo tọa độ đi theo chuyển động được ghi lại từ người thật.
Bật lên, giữ nguyên script
from clearcote import launch
browser = launch(fingerprint="seed-123", humanize=True, show_cursor=True)
page = browser.new_page()
page.goto("https://example.com")
page.click("text=Sign in") # eased curve, then a trusted click
page.fill("#email", "you@example.com") # focus, then key-by-key typing
page.locator("#password").type("s3cr3t") # locators are humanized too
# a held-button drag (e.g. a slider): the press stays held across the move
x0, y0, x1 = 100, 300, 400 # the handle's start, and where to release it
page.mouse.move(x0, y0); page.mouse.down()
page.mouse.move(x1, y0); page.mouse.up()
browser.close()Điểm nổi bật
Đường cong, có hiệu chỉnh
Chuyển động đi theo một đường Bézier hơi cong từ vị trí con trỏ trước đó, gồm một chuyển động chính nhanh cộng thêm một lần hiệu chỉnh: đường vận tốc nhiều đỉnh như khi người thật với tay tới mục tiêu.
Event trusted
Input là native, nên event đến với isTrusted được bật thay vì được gửi từ script của trang, và navigator.webdriver vẫn là false.
Gõ phím có nhịp điệu
Từng phím được gõ lần lượt với khoảng nghỉ ngẫu nhiên, dừng lại ở ranh giới giữa các từ và thỉnh thoảng gõ sai rồi sửa lại. Giá trị dài hơn khoảng 200 ký tự được điền nguyên khối để việc điền hàng loạt không bị chậm như rùa.
Kéo thả thật
Nút được nhấn bằng mouse.down() vẫn được giữ trong suốt quá trình di chuyển, nên down, move, up là một thao tác kéo giữ nút thực sự, và locator.dragTo cũng được humanize.
Cuộn có quán tính
Cuộn bằng con lăn chậm dần như con lăn chuột hay trackpad thật, thỉnh thoảng dừng lại để đọc.
Click an toàn, chuyển động nhìn thấy được
Mỗi cú click trusted đều được kiểm tra trước (hiển thị, được bật, ổn định, không bị che), nếu không đạt thì quay về click native. showCursor vẽ con trỏ để bạn có thể theo dõi.
Cách nó tích hợp vào script của bạn
humanize hoạt động ở cấp page (click, hover, type, fill, mouse.*, keyboard.type) và ở cấp locator (click, type, fill, pressSequentially, dragTo), nên script sẵn có được áp dụng ngay mà không cần sửa.
Đừng chồng easing của riêng bạn lên trên. Hãy đặt các điểm mốc (waypoint) và để humanize nội suy giữa chúng: easing tự viết cho từng bước tạo ra các đặc trưng thống kê chuyển động mà input thông thường không bao giờ tạo ra.
Mọi bản build đều tự sinh đường chuyển động: SDK lên kế hoạch cho di chuyển, kéo thả, cuộn và gõ phím, còn click theo tọa độ (mouse.click) đi theo đường của chính engine. Trên gói Pro, những cú click đó theo chuyển động được suy ra từ chuyển động ghi lại của người thật, và trên bản build có giấy phép (Miễn phí với GitHub hoặc Pro) dữ liệu con trỏ được báo cáo với độ trung thực cao hơn. Code của bạn không cần thay đổi gì giữa các bản.
Mọi người dùng nó để làm gì
Trang theo dõi hành vi
Những luồng xem xét cách con trỏ và bàn phím chuyển động, chứ không chỉ nơi chúng dừng lại.
Tương tác kéo thả
Kéo giữ nút hoạt động được, nên slider và kéo thả phản ứng giống như khi thao tác bằng tay.
Quy trình nhiều biểu mẫu
Trang đăng ký, thanh toán và cài đặt được gõ từng ký tự thay vì dán vào trong một event.
Demo và quay màn hình
showCursor giúp các video hướng dẫn tự động dễ theo dõi.
Clearcote được xây dựng cho quyền riêng tư, kiểm thử, nghiên cứu và tự động hóa hợp pháp. Bạn chịu trách nhiệm về cách mình sử dụng nó và về việc tuân thủ điều khoản của các trang web bạn truy cập.
Gói nào có tính năng này
Chuột, gõ phím và cuộn trang giống người thật có ở mọi gói: một tùy chọn khởi chạy trong Python và Node, các lệnh gọi tường minh trong .NET. Trên bản build có giấy phép (miễn phí với GitHub), dữ liệu con trỏ được báo cáo với độ trung thực cao hơn, và trên gói Pro, click theo tọa độ trong Python và Node đi theo chuyển động được ghi lại từ người thật.
So sánh các góiCâu hỏi thường gặp
Làm sao để chuyển động chuột trong Playwright trông như người thật?
Khởi chạy qua Clearcote SDK với humanize: true (Python: humanize=True). Khi đó các lệnh gọi page.click, fill và mouse sẵn có của bạn sẽ di chuyển và gõ phím theo kiểu người thật, không cần thay đổi gì khác.
Các event có phải là trusted không?
Có. Chúng được gửi dưới dạng native input, nên event.isTrusted là true; không có gì được tổng hợp từ script của trang. (showCursor thêm một lớp overlay hiển thị lên trang, nên chỉ dùng nó cho demo.)
Nó có làm script chậm đi không?
Một chút, giống như người thật thì chậm hơn dịch chuyển tức thời. Các giá trị dài (hơn khoảng 200 ký tự) được điền một lần, nên việc nhập dữ liệu hàng loạt vẫn nhanh.
Tính năng này có trong .NET SDK không?
Có, dưới dạng các lệnh gọi tường minh thay vì một tùy chọn khởi chạy: HumanClickAsync, HumanTypeAsync, HumanPressAsync, HumanScrollAsync, HumanDragToAsync và HumanSelectOptionAsync trên page hoặc locator. Tùy chọn một flag humanize chỉ có ở Python và Node.
Có dùng thư viện di chuyển chuột riêng cùng với nó được không?
Tốt nhất là không. Chồng easing của một thư viện khác lên easing của humanize sẽ tạo ra chuyển động mà cả người thật lẫn input thông thường đều không tạo ra. Hãy đưa cho Playwright các mục tiêu và để humanize lo phần đường đi.
Tìm hiểu sâu hơn trong tài liệu
Tính năng liên quan
Chromium thay thế trực tiếp cho Playwright và Puppeteer: chỉ đổi một dòng import trong Python, Node hay .NET, trình duyệt được tự động tải về và xác minh SHA-256 cho bạn.
Mỗi tài khoản một seed: cùng một thiết bị ở mọi phiên, một thiết bị khác cho tài khoản tiếp theo, với cookie và storage được giữ lại giữa các lần chạy.
Cho browser-use, Stagehand, Crawl4AI hoặc agent của riêng bạn một Chromium có danh tính thiết lập ở cấp engine, hoặc chạy agent trong trình duyệt của Clearcote (bật khi cần) với model của riêng bạn.
Canvas, WebGL, WebGPU, audio, font, màn hình và phần cứng được suy ra trong engine C++ từ một seed, với locale và múi giờ được đặt cho khớp, để mọi bề mặt đều nhất quán với nhau.
Bài đọc liên quan
Dùng thử Clearcote
Thay thế drop-in cho Playwright & Puppeteer, nhất quán đến tận TLS handshake, với một bản build mã nguồn mở để bắt đầu.
Miễn phí cho một trình duyệt với GitHub. Không cần thẻ.