
Puppeteer — thiết lập proxy
Giới thiệu công cụ
Puppeteer là thư viện JavaScript/TypeScript mã nguồn mở cung cấp API bậc cao để điều khiển Chrome và Firefox thông qua giao thức DevTools (CDP) hoặc WebDriver BiDi. Puppeteer cung cấp API JavaScript điều khiển Chrome và Firefox qua giao thức tự động hóa. Có thể chạy không hiển thị cửa sổ, phù hợp cho tương tác trang lặp lại, dựng trang và kiểm thử. Proxy được cấu hình cho tiến trình trình duyệt do tập lệnh khởi chạy.
Tính năng chính
Kết xuất trình duyệt thực & chế độ không giao diện (Headless): Mặc định chạy ẩn (hoặc bật giao diện đầy đủ), hỗ trợ thực thi JavaScript phía client, tương tác biểu mẫu, chặn yêu cầu mạng, chụp ảnh màn hình và xuất PDF.
- Điều khiển trình duyệt bằng JavaScript:Puppeteer điều khiển Chrome và Firefox qua API điều hướng, nhấp, điền biểu mẫu và chạy mã. Chế độ không giao diện, ảnh chụp và xuất PDF phục vụ kiểm thử, dựng nội dung và báo cáo website.
- Chạy không hiển thị cửa sổ:Mã điều khiển tiến trình và trang trình duyệt; ngữ cảnh giúp tách công việc. Khác HTTP client, thư viện chạy JavaScript trang và tương tác với website đã dựng, nên cần quản lý tài nguyên và điều kiện chờ phù hợp.
Quy trình phù hợp
Để chụp trang định kỳ, tập lệnh có thể quy định điều hướng, nội dung sẵn sàng, đầu ra và xử lý lỗi. Cấu hình proxy cho trình duyệt thực sự được mở và xử lý xác thực tương ứng; thay đổi mạng tiến trình Node.js có thể chưa bao phủ lưu lượng trình duyệt.
- Thu thập dữ liệu SPA động & kiểm thử tự động: Lý tưởng để trích xuất dữ liệu từ các trang web phụ thuộc nặng vào JavaScript, tạo báo cáo trực quan định kỳ và kiểm thử giao diện người dùng.
- Cấu hình proxy qua tham số `--proxy-server` trong `puppeteer.launch()` và xác thực tài khoản bằng `page.authenticate()`; khuyến nghị dùng proxy trung tâm dữ liệu để đạt tốc độ cao và tối ưu chi phí.