Chuyển đến nội dung

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ăngClearcoteplaywright-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.

Tỷ lệ lượt tải trang đến được trang thật, theo từng công cụ, ở chế độ headed và headless
Công cụHeadedHeadless
Clearcote0.63.2 · r5278%39/5080%40/50
Camoufox0.5.8 · v156.0.1-beta.3672%36/5080%40/50
Invisible Playwright0.43.0 · Firefox76%38/5078%39/50
CloakBrowser0.6.474%37/5064%32/50
SeleniumBase (CDP mode)4.49.0 · Chrome74%37/50—
nodriver0.50.6 · Chrome74%37/5040%20/50
Zendriver0.17.1 · Chrome64%32/5060%30/50
tf-playwright-stealth (Firefox)1.2.058%29/5062%31/50
tf-playwright-stealth (Chromium)1.2.056%28/5050%25/50
Playwright (Chromium)1.62.056%28/5030%15/50
Playwright (Firefox)1.62.054%27/5054%27/50
Patchright1.64.3 · Chrome24%12/5026%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.

Sâu đến đâu

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

0

Driver đã vá

ví dụ undetected-chromedriver, nodriver

0

Các bản fork Chromium khác

bản build miễn phí và trả phí

35–87

Clearcote Pro

r57, Chromium 156

240

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.

Kiểm tra

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 tra
Đọc

Cá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 GitHub
Theo dõi phát hành

57 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ành

Bài đọc liên quan

Tài liệuMigrating from playwright-stealth or PatchrightReplace one line: clearcote.launch() returns a Playwright browser with the fingerprint set in the engine. What to remove from your script.Hỏi đápWhy does Function.toString() reveal a hooked function?Calling toString() on a native function returns “[native code]”; an override returns its own source instead — so detectors stringify APIs to catch JavaScript spoofs.Hỏi đápPlaywright vs Puppeteer for stealth: does it matter?Both drive Chromium over CDP, so both leak the same automation artifacts. Stealth comes from the browser binary and launch defaults, not the framework you pick.So sánhClearcote vs puppeteer-extra-plugin-stealthStealth plugin vẫn là cách được cài nhiều nhất để gắn evasion vào Puppeteer, với hơn một triệu lượt tải mỗi tuần, nhưng đã không có bản phát hành mới nào từ tháng 3/2023. Mỗi evasion là một patch JavaScript trên Chrome nguyên bản, và patch JavaScript thì tự để lộ mình. Clearcote đặt các giá trị đó một cách native ngay trong engine.So sánhClearcote vs CamoufoxCamoufox là một trình duyệt antidetect mã nguồn mở được làm kỹ lưỡng, xây trên Firefox. Clearcote áp dụng cùng cách tiếp cận ở cấp engine cho Chromium, để tự động hóa của bạn thể hiện ra đúng loại trình duyệt mà khoảng 66% web thực sự dùng, thay vì loại chỉ khoảng 3% dùng.So sánhClearcote vs CloakBrowserCloakBrowser là một bản Chromium stealth ở cấp engine có năng lực và được đông đảo người dùng theo dõi, nhưng binary đã vá là mã nguồn đóng. Clearcote cũng can thiệp ở cấp engine và có bản build mở mà bạn đọc và build lại được từng patch.So sánhClearcote vs undetected-chromedriverundetected-chromedriver vẫn được tải khoảng 2,5 triệu lượt mỗi tháng, nhưng bản phát hành cuối là từ tháng 2/2024. Nó che điểm lộ Selenium/ChromeDriver trên Chrome nguyên bản và không hề động đến fingerprint hay tầng mạng. Clearcote thay đổi cả hai trong engine.

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.