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ừ giữa năm 2024; tên package trên PyPI hiện do một fork đang được bảo trì tích cực (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 các pull request còn tồn đọng. Dự án dùng giấy phép MIT và được dùng rất rộng rãi: khoảng 2,4 triệu lượt tải PyPI mỗi tháng.

Nó hoạt động 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à không có gì trong package động đến tác dụng phụ CDP của chính driver Playwright hay tầng mạng.

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ý
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 9 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.

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 fork đang được bảo trì (2.x) vẫn có cập nhật. 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 tầng driver lẫn tầng mạng.

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.

Bài đọc liên quan

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 khoảng 840.000 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 69% 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, chạy Chromium mới hơn 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 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 với GitHub. Không cần thẻ.