Lựa chọn thay thế playwright-stealth mã nguồn mở
playwright-stealth là cách nhanh nhất để thêm stealth cho Playwright trong Python: chỉ cần một wrapper là mọi trang đều được gắn một bộ evasion JavaScript. Nhưng các evasion đó là lớp ghi đè trên trình duyệt nguyên bản, và chính maintainer gọi nó là một bản proof of concept. Clearcote thì đặt các giá trị đó một cách native ngay trong engine, nên trang web không có lớp ghi đè nào để tìm ra.
playwright-stealth là gì?
playwright-stealth là bản port sang Python cho Playwright của puppeteer-extra-plugin-stealth. Bản port gốc của AtuboDad không được cập nhật từ năm 2023; tên package trên PyPI hiện do một fork đang được bảo trì (Mattwmaster58) tiếp quản, và fork này đã ra bản 2.0 với API gọn hơn, đồng thời merge một số pull request còn tồn đọng (bản phát hành mới nhất là 2.0.3, tháng 4/2026). Dự án dùng giấy phép MIT và được dùng rất rộng rãi: khoảng 3 triệu lượt tải PyPI mỗi tháng.
Nó hoạt động chủ yếu bằng cách đăng ký init script cho mọi context, mỗi script vá một dấu hiệu: navigator.webdriver, navigator.languages, plugin, WebGL vendor, chrome.runtime, v.v. Maintainer nói thẳng về giới hạn của nó. README khuyên đừng kỳ vọng nó vượt qua được gì ngoài những cơ chế phát hiện bot đơn giản nhất, và mô tả nó là một điểm khởi đầu. Nguyên nhân nằm ở cấu trúc: một lớp ghi đè JavaScript có thể bị bắt bằng Function.prototype.toString hoặc bằng cách kiểm tra property descriptor, init script của trang không chạm tới Web Worker, và dù wrapper của nó cũng đặt vài launch flag cùng header User-Agent và Sec-CH-UA, không có gì trong package động đến tác dụng phụ CDP của chính driver Playwright hay quá trình bắt tay TLS.
Clearcote vs playwright-stealth
| Tính năng | Clearcote | playwright-stealth |
|---|---|---|
| Cách tiếp cận | Patch C++ ở cấp engine: giá trị native | Init script JavaScript trên trình duyệt nguyên bản |
| Điểm lộ có thể bị phát hiện | Không có: native trong trang, iframe và worker | Ghi đè lộ ra qua toString, descriptor và việc đọc lại từ worker |
| Danh tính fingerprint | Persona nhất quán từ một seed (canvas, WebGL, font, navigator) | Vài giá trị đặt tay chồng lên giá trị thật của máy |
| Tác dụng phụ của driver / CDP | Được chặn ngay khi khởi chạy (isolated world) và trong engine | Không xử lý; driver Playwright nguyên bản |
| Tính nhất quán TLS / mạng | ClientHello theo phiên bản Chrome tự nhận | Không xử lý TLS; chỉ đặt header User-Agent và Sec-CH-UA |
| Framework | Playwright & Puppeteer (Python, Node, .NET) | Playwright (Python) |
| Cài đặt | Đổi binary trình duyệt | Bọc Playwright bằng một dòng code |
| 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ở (MIT) |
Bảng so sánh được tổng hợp ngày tháng 11 năm 2026. playwright-stealth là Mã nguồn mở (MIT); thông tin có thể thay đổi — hãy xem trang dự án của nó để có thông tin mới nhất.
Đo thực tế: 12 công cụ trên cùng 10 trang web
Chúng tôi đã chạy harness mã nguồn mở browsers-benchmark 5 lần, lần cuối hoàn tất vào 27 tháng 10, 2026. Mỗi công cụ dùng một IP dân cư Mỹ riêng, theo thứ tự khác nhau ở mỗi lần chạy. Một lượt đạt nghĩa là bước kiểm tra riêng của harness cho trang đó đã tìm thấy chính trang thật, không phải trang chặn hay trang thử thách (challenge). Clearcote được đo trên máy tính để bàn Windows (bản build mới nhất); các công cụ khác chạy trên máy chủ Linux.
Harness kiểm thử tf-playwright-stealth, một bản fork của playwright-stealth; các hàng của nó được đánh dấu.
| Công cụ | Headed | Headless |
|---|---|---|
| Clearcote0.63.2 · r52 | 78%39/50 | 80%40/50 |
| Camoufox0.5.8 · v156.0.1-beta.36 | 72%36/50 | 80%40/50 |
| Invisible Playwright0.43.0 · Firefox | 76%38/50 | 78%39/50 |
| CloakBrowser0.6.4 | 74%37/50 | 64%32/50 |
| SeleniumBase (CDP mode)4.49.0 · Chrome | 74%37/50 | — |
| nodriver0.50.6 · Chrome | 74%37/50 | 40%20/50 |
| Zendriver0.17.1 · Chrome | 64%32/50 | 60%30/50 |
| tf-playwright-stealth (Firefox)1.2.0 | 58%29/50 | 62%31/50 |
| tf-playwright-stealth (Chromium)1.2.0 | 56%28/50 | 50%25/50 |
| Playwright (Chromium)1.62.0 | 56%28/50 | 30%15/50 |
| Playwright (Firefox)1.62.0 | 54%27/50 | 54%27/50 |
| Patchright1.64.3 · Chrome | 24%12/50 | 26%13/50 |
Các trang: một trang kết quả tìm kiếm, một diễn đàn cộng đồng, trang web của một công ty phần mềm, một nhà bán lẻ hàng xa xỉ, một trang sản phẩm trên sàn thương mại điện tử, một trang bán vé, một nhà bán lẻ thời trang, một trang đặt dịch vụ du lịch, một hãng hàng không, một mạng xã hội. Đây là ảnh chụp nhanh từ một mạng và trong một tuần: kết quả thay đổi theo từng bản phát hành, từng proxy và chính các trang web, và không công cụ nào tải được mọi trang ở mọi lần. Kết quả thô (JSON).
Vì sao các team chọn Clearcote
Native, không phải ghi đè
Mỗi evasion của playwright-stealth thay một hàm thật của trình duyệt bằng một hàm JavaScript, và sự thay thế đó có thể bị quan sát thấy. Clearcote thay đổi giá trị ngay bên trong Chromium, nên hàm mà trang web kiểm tra chính là hàm native thật.
Cùng một câu trả lời ở mọi realm
Init script chỉ vá trang. Đọc lại cùng giá trị đó từ một Web Worker hoặc một iframe mới là bạn nhận được giá trị gốc chưa vá. Giá trị ở cấp engine thì khớp ở mọi nơi.
Cả một danh tính, không phải vài trường lẻ tẻ
Một seed --fingerprint tạo ra một cỗ máy nhất quán trên canvas, WebGL, audio, font, màn hình và phần cứng, thay vì vài lớp ghi đè đắp lên máy thật.
Giữ nguyên code Playwright
Clearcote là một binary Chromium. Trỏ executable_path vào nó, hoặc dùng launch() của SDK, còn phần còn lại của script Playwright giữ nguyên.
Khi nào playwright-stealth có thể là lựa chọn tốt hơn
- Bạn muốn thử nhanh trong năm phút trên một trang mục tiêu dễ tính và không muốn phải quản lý binary trình duyệt.
- Các trang mục tiêu của bạn chỉ kiểm tra những dấu hiệu hiển nhiên như
navigator.webdriver. - Bạn đã chạy Clearcote và muốn biết mình có còn cần nó không: không cần. Các evasion của nó lặp lại những giá trị mà engine đã đặt sẵn, và việc đắp thêm lớp ghi đè JavaScript lên trên sẽ mang trở lại chính điểm lộ mà engine đã loại bỏ.
Câu hỏi thường gặp
playwright-stealth còn dùng được không?
Nó vẫn cài và chạy được, và bản phát hành mới nhất của bản fork đang được bảo trì là 2.0.3 (tháng 4/2026). Có đủ hay không thì tùy trang mục tiêu. Chính README của nó cảnh báo rằng nó chỉ xử lý được những cơ chế phát hiện đơn giản nhất, vì ghi đè bằng JavaScript có thể bị phát hiện và nó không động đến driver lẫn tầng TLS.
playwright-stealth và Clearcote khác nhau thế nào?
playwright-stealth chèn JavaScript vào một Chromium nguyên bản để ghi đè một số giá trị. Clearcote là một Chromium đã chỉnh sửa, nơi các giá trị đó là native, nhất quán giữa các frame và worker, bên dưới là một TLS fingerprint tương ứng. Cả hai đều được điều khiển bằng Playwright thông thường.
Có nên dùng playwright-stealth cùng với Clearcote không?
Không. Engine đã báo cáo các giá trị nhất quán, và việc đắp thêm lớp ghi đè JavaScript lên trên sẽ thay các hàm native bằng những hàm có thể bị phát hiện. Hãy khởi chạy Clearcote bằng Playwright thuần.
Có playwright-stealth cho Node.js không?
Bản tương đương trên Node là playwright-extra kèm plugin stealth của puppeteer-extra, với cùng thiết kế ghi đè bằng JavaScript. Clearcote hoạt động như nhau từ Python, Node và .NET.
Nhiều hơn gấp đôi số bản vá của bất kỳ bản fork nào chúng tôi đã so sánh.
Số bản vá biên dịch vào Chromium, theo từng cách tiếp cận. Công cụ dựa trên script hoàn toàn không thay đổi engine.
Plugin stealth
ví dụ puppeteer-extra-plugin-stealth
Driver đã vá
ví dụ undetected-chromedriver, nodriver
Các bản fork Chromium khác
bản build miễn phí và trả phí
Clearcote Pro
r57, Chromium 156
Số bản vá đã công bố, tháng 10 năm 2026. Khoảng này gồm cả bản build miễn phí và trả phí của các bản fork khác; với Clearcote là bản build Pro.
365 phép kiểm tra, miễn phí, trên trình duyệt của chính bạn
Bài kiểm tra fingerprint mà mọi bản build Clearcote đều phải đáp ứng. Hãy chạy nó trên công cụ bạn đang dùng và so sánh.
Chạy bài kiểm traCác bản vá của bản build mở là công khai
Bản build mở miễn phí dùng BSD-3, tái tạo được từ mã nguồn và không cần tài khoản. Bản build Pro bổ sung các bản vá riêng ở trên.
Mở trên GitHub57 bản phát hành engine, 7 phiên bản chính của Chromium
Mọi bản vá đều được mang sang từng phiên bản Chromium mới. Bản build mới nhất có phiên bản chính mới ngay trong ngày phát hành.
Xem các bản phát hànhBà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: GitHub, một lần kiểm tra thẻ hoặc tài khoản Google của công ty. Không bao giờ trừ tiền.