Lựa chọn thay thế Patchright mã nguồn mở
Patchright là bản Playwright đã vá được bảo trì tốt nhất hiện nay: một bản thay thế trực tiếp (drop-in) loại bỏ các lỗ rò tự động hóa của driver. Nó không thay đổi bản thân trình duyệt, nên fingerprint mà website đọc được vẫn là của máy bạn. Clearcote làm việc ở tầng thấp hơn một bậc, trong engine, và hai công cụ kết hợp được với nhau.
Patchright là gì?
Patchright (của Vinyzu và Kaliiiiiiiiii) là một bản build Playwright đã vá cho Python, Node.js và .NET. Dự án dùng giấy phép Apache-2.0, bám sát các bản phát hành của Playwright (1.63 tại thời điểm viết bài, trùng với upstream) và được dùng rất nhiều: khoảng 3,5 triệu lượt tải PyPI mỗi tháng cộng khoảng 285.000 lượt tải npm mỗi tuần. Nó chỉ hỗ trợ các trình duyệt nền Chromium.
Các patch của nó nhắm vào driver tự động hóa. Nó tránh lỗ rò Runtime.enable bằng cách chạy code trong các execution context tách biệt (isolated), tắt Console API (nên các event console không hoạt động), bỏ --enable-automation và thêm --disable-blink-features=AutomationControlled, đồng thời có thể truy cập vào bên trong các shadow root dạng closed. Init script được đưa vào qua cơ chế định tuyến request (request routing), điều mà README lưu ý là có thể bị phát hiện qua timing.
Thứ Patchright cố ý không động đến là trình duyệt. Nó khuyến nghị chạy Chrome thật, và Chrome nào được nó khởi chạy cũng báo cáo phần cứng, GPU, font và màn hình thật của bạn. Trên máy desktop, điều đó có thể là lý tưởng. Trên server hoặc trong Docker, giá trị thật lại là của một VM: GPU phần mềm, bộ font Linux, màn hình headless. Mọi phiên trên máy đó cũng dùng chung một danh tính.
Clearcote vs Patchright
| Tính năng | Clearcote | Patchright |
|---|---|---|
| Tầng can thiệp | Engine trình duyệt (C++ / Blink) | Driver Playwright |
| Lỗ rò driver / CDP | Engine vô hiệu hóa Runtime.enable; isolated world ngay khi khởi chạy | Driver đã vá tránh gọi Runtime.enable; Console API bị tắt |
| Danh tính fingerprint | Persona nhất quán từ một seed (canvas, WebGL, font, navigator, màn hình) | Giá trị thật của máy bạn |
| Số danh tính trên mỗi máy | Mỗi seed một danh tính, cần bao nhiêu cũng được | Một: chính cái máy đó |
| Trên server và trong Docker | Persona che GPU phần mềm và font của VM | Báo cáo phần cứng thật của VM |
| TLS / mạng | ClientHello theo phiên bản Chrome của persona | Chrome được khởi chạy gửi gì thì là thế |
| Theo kịp bản phát hành Playwright | Dùng được với Playwright gốc ở mọi phiên bản | Mỗi bản phát hành Playwright cần một bản build đã vá |
| Ngôn ngữ | Python, Node, .NET | Python, Node, .NET |
| Chi phí | Bản build mở miễn phí; bản build mới nhất miễn phí với GitHub; Pro $49/tháng | Miễn phí & mã nguồn mở (Apache-2.0) |
Bảng so sánh được tổng hợp ngày tháng 9 năm 2026. Patchright là Mã nguồn mở (Apache-2.0); thông tin có thể thay đổi — hãy xem trang dự án của nó để có thông tin mới nhất.
Vì sao các team chọn Clearcote
Khác tầng, không phải đối thủ
Cơ chế phát hiện đọc ở ba chỗ: driver, phiên CDP và fingerprint. Patchright xử lý hai chỗ đầu. Clearcote xử lý fingerprint ngay trong engine, và các thiết lập khởi chạy mặc định của nó cũng lo luôn phía CDP.
Danh tính do bạn chọn
Với Patchright chạy trên Chrome nguyên bản, fingerprint chính là cái máy bạn đang chạy. Clearcote cho mỗi seed một cỗ máy riêng, nhất quán — điều này quan trọng nhất trên server, nơi máy thật trông giống một VM.
Không phải giữ driver đồng bộ
Clearcote dùng được với các package Playwright và Puppeteer chính thức, nên bạn nâng cấp chúng theo lịch của riêng chúng thay vì phải chờ một bản build đã vá.
Nhất quán đến tận TLS
Phiên bản Chrome mà persona tự nhận được áp dụng xuyên suốt đến tận TLS ClientHello, nên tầng mạng khớp với JavaScript.
Khi nào Patchright có thể là lựa chọn tốt hơn
- Bạn chạy trên máy desktop thật với Chrome thật và profile bình thường, và những dấu hiệu duy nhất bạn cần loại bỏ là của driver.
- Bạn muốn một bản thay thế trực tiếp cho Playwright và không phải cài thêm gì khác.
- Hoặc dùng cả hai: Patchright chấp nhận mọi binary Chromium, nên bạn có thể giữ các patch driver của nó và đặt Clearcote bên dưới bằng
executable_path=clearcote.download().
Câu hỏi thường gặp
Patchright hay Clearcote: tôi cần cái nào?
Hai công cụ giải quyết ở hai tầng khác nhau. Patchright vá driver Playwright để phiên tự động hóa khó bị nhận ra hơn. Clearcote vá trình duyệt để fingerprint (canvas, WebGL, font, navigator, TLS) là một persona nhất quán thay vì là máy của bạn. Nếu vấn đề nằm ở fingerprint, chỉ riêng Patchright sẽ không thay đổi được điều đó.
Có dùng Patchright cùng Clearcote được không?
Được. Patchright khởi chạy được mọi binary Chromium. Lấy đường dẫn Clearcote từ SDK bằng download() rồi truyền vào executable_path, cùng với các tham số --fingerprint của bạn.
Patchright có thay đổi dấu vân tay trình duyệt không?
Không. Nó thay đổi các flag khởi chạy và cách driver giao tiếp với trình duyệt. Canvas, WebGL, font, màn hình và phần cứng đến từ Chrome bạn chạy và cái máy mà nó chạy trên đó.
Vì sao console.log không hoạt động trong Patchright?
Patchright tắt Console API để tránh một tác dụng phụ dễ bị phát hiện của domain Runtime và Console trong CDP. README của nó gợi ý dùng một logger JavaScript nếu bạn cần xuất log ra console.
Bài đọc liên quan
Dùng thử lựa chọn thay thế Chromium mã nguồn mở
Miễn phí và mã nguồn mở, thay thế drop-in cho Playwright & Puppeteer, nhất quán đến tận TLS handshake.
Miễn phí cho một trình duyệt với GitHub. Không cần thẻ.