bid-tool/scrape-data-keyword/system/browser.js

40 lines
1.7 KiB
JavaScript

// import puppeteer from 'puppeteer';
import puppeteer from "puppeteer-extra";
import StealthPlugin from "puppeteer-extra-plugin-stealth";
puppeteer.use(StealthPlugin());
const browser = await puppeteer.launch({
headless: process.env.ENVIRONMENT === "prod" ? "new" : false,
// userDataDir: CONSTANTS.PROFILE_PATH, // Thư mục lưu profile
timeout: 60000,
args: [
"--no-sandbox",
"--disable-setuid-sandbox",
"--disable-dev-shm-usage",
"--disable-gpu",
"--disable-software-rasterizer",
"--disable-background-networking",
"--disable-sync",
"--mute-audio",
"--no-first-run",
"--no-default-browser-check",
"--ignore-certificate-errors",
"--start-maximized",
"--disable-site-isolation-trials", // Tắt sandbox riêng cho từng site
"--memory-pressure-off", // Tắt cơ chế bảo vệ bộ nhớ
"--disk-cache-size=0", // Không dùng cache để giảm bộ nhớ
"--enable-low-end-device-mode", // Kích hoạt chế độ tiết kiệm RAM
"--disable-best-effort-tasks", // Tắt tác vụ không quan trọng
"--disable-accelerated-2d-canvas", // Không dùng GPU để vẽ canvas
"--disable-threaded-animation", // Giảm animation chạy trên nhiều thread
"--disable-threaded-scrolling", // Tắt cuộn trang đa luồng
"--disable-logging", // Tắt log debug
"--blink-settings=imagesEnabled=false", // Không tải hình ảnh,
"--disable-background-timer-throttling", // Tránh việc throttling các timer khi chạy nền.
"--disable-webrtc",
"--disable-ipc-flooding-protection", // Nếu có extension cần IPC, cái này giúp tối ưu.
],
});
export default browser;