Lựa chọn thay thế selenium-stealth mã nguồn mở
selenium-stealth vẫn được tải hàng trăm nghìn lượt mỗi tháng, nhưng bản phát hành cuối là từ năm 2020. Nó ghi đè vài giá trị bằng JavaScript và bắt bạn tự gõ tay GPU và platform. Clearcote tạo toàn bộ danh tính ngay trong engine, nên các giá trị khớp với nhau và khớp với tầng mạng.
selenium-stealth là gì?
selenium-stealth là một package Python nhỏ, viết lại một phần puppeteer-extra-plugin-stealth cho Selenium dùng với Chrome. Bạn gọi stealth(driver, ...) và nó chèn các script ghi đè navigator.webdriver, languages, vendor, platform cùng WebGL vendor và renderer. Package dùng giấy phép MIT và vẫn phổ biến: khoảng 284.000 lượt tải PyPI mỗi tháng.
Package này cũng không còn được bảo trì. Bản phát hành PyPI cuối (1.0.6) ra vào tháng 11/2020 và repository không thay đổi từ cuối năm 2021. Ví dụ trong README không còn chạy nguyên văn được trên Selenium hiện tại, vốn đã bỏ tham số executable_path, và ví dụ đó ghép platform="Win32" với WebGL renderer "Intel Iris OpenGL Engine" — một chuỗi kiểu macOS mà Chrome trên Windows không báo cáo. Đó là vấn đề cốt lõi của persona lắp ráp thủ công: mỗi giá trị được đặt riêng lẻ, và không có gì kiểm tra xem chúng có thuộc về cùng một máy hay không. Nó cũng để nguyên ChromeDriver không vá; đó là việc của undetected-chromedriver.
Clearcote vs selenium-stealth
| Tính năng | Clearcote | selenium-stealth |
|---|---|---|
| Cách tiếp cận | Patch C++ ở cấp engine: giá trị native | Ghi đè JavaScript do Selenium chèn vào |
| Tính nhất quán của persona | Tạo từ một seed; GPU, platform và font khớp nhau | Gõ tay, không có gì đối chiếu chéo |
| Điểm lộ có thể bị phát hiện | Không có: native ở mọi realm | Ghi đè lộ ra qua toString và việc đọc lại từ worker |
| Dấu vết ChromeDriver | Không dùng ChromeDriver: điều khiển qua CDP | Vẫn còn nguyên |
| Tính nhất quán TLS / mạng | ClientHello theo phiên bản Chrome tự nhận | Không xử lý |
| Bảo trì | Đang phát triển tích cực, bám theo Chromium hiện hành | Bản phát hành cuối: tháng 11/2020 |
| Framework | Playwright & Puppeteer (Python, Node, .NET) | Selenium (Python) |
| 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. selenium-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
Không phải tự gõ chuỗi GPU
selenium-stealth bắt bạn tự chọn WebGL vendor và renderer. Clearcote suy ra GPU, platform, font và màn hình từ một seed duy nhất, nên chúng mô tả một cỗ máy có thể tồn tại thật.
Giá trị native
Một lớp ghi đè được chèn vào có thể bị phát hiện bằng cách kiểm tra hàm. Clearcote thay đổi giá trị ngay bên trong Chromium, nên không có lớp ghi đè nào để tìm, dù trong trang hay trong worker.
Được bảo trì theo Chrome hiện nay
Cơ chế phát hiện thay đổi theo mỗi bản phát hành Chrome. Clearcote phát hành trên Chromium hiện hành; các evasion của selenium-stealth có từ năm 2020.
Cả tầng mạng
Trình duyệt đã tự nhận là một phiên bản Chrome nào đó thì nên gửi đúng TLS handshake của phiên bản ấy. Clearcote giữ cho hai thứ này khớp nhau.
Khi nào selenium-stealth có thể là lựa chọn tốt hơn
- Bạn đang duy trì một script Selenium cũ vốn đã dùng nó, và chỉ cần ẩn
navigator.webdrivertrên một trang dễ tính. - Bạn không thể đổi framework. Nếu vẫn ở lại với Selenium, hãy xem SeleniumBase, dự án đang được bảo trì tích cực.
Câu hỏi thường gặp
selenium-stealth còn được bảo trì không?
Không. Bản phát hành cuối trên PyPI là 1.0.6 từ tháng 11/2020, và repository GitHub không được cập nhật từ tháng 12/2021. Nó vẫn cài được, nhưng các evasion không theo kịp Chrome lẫn các cơ chế phát hiện.
Nên dùng gì thay cho selenium-stealth?
Nếu muốn ở lại với Selenium, UC Mode hoặc CDP Mode của SeleniumBase là lựa chọn còn được bảo trì. Nếu có thể chuyển sang Playwright hoặc Puppeteer, Clearcote thay đổi fingerprint ngay trong engine trình duyệt thay vì ghi đè bằng JavaScript.
Vì sao giá trị WebGL vendor và renderer lại quan trọng?
Chúng thuộc nhóm giá trị fingerprint bị kiểm tra nhiều nhất, và phải khớp với platform, font và cách GPU thực sự render. Ví dụ, platform Windows đi kèm chuỗi renderer của macOS là đang mô tả một cỗ máy không tồn tại.
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ẻ.