15 điểm bởi xguru 2020-09-11 | 2 bình luận | Chia sẻ qua WhatsApp

Áp dụng theo tiêu chí Selenium nhưng cũng có thể dùng ở nơi khác

  1. Gỡ cờ navigator.webdriver

  2. Xóa một số chuỗi nhất định trong ChromeDriver / GeckoDriver

  3. Thay đổi độ phân giải, User-Agent, v.v.

  4. Dùng luồng URL thực. Tránh truy cập các liên kết không hiển thị

  5. Dùng proxy để thay đổi IP

  6. Sử dụng độ trễ ngẫu nhiên

  7. Không dùng trình duyệt headless (có thể kiểm tra bằng cách kiểm tra quyền Notification)

2 bình luận

 
xguru 2020-09-11

Trong trường hợp 1, với Puppeteer thì có những nơi chỉ đặt true/false thôi vẫn bị phát hiện là bot.

Vì vậy tốt hơn là xóa hẳn thuộc tính như bên dưới.

const newProto = navigator.proto;

delete newProto.webdriver;

navigator.proto = newProto;

 
louis 2020-09-12

Đó là một ý hay :) Tôi đã thay thế đoạn mã