puppeteer 常用连接配置

一般本地开发时直接用 puppeteer 自带下载的浏览器,此时使用  puppeteer.launch() 开启浏览器,配置参数通过 args 传递:

puppeteer.launch({
            headless: false,	// 取消无头
            defaultViewport: { width: 1440, height: 780 },// 默认视口大小
            args: [
              `--disable-notifications=true`, // 关闭浏览器通知提示
              `--blink-settings=imagesEnabled=false`, // 禁止加载图片
              `--user-agent=${account.userAgent}`, // UA
              `--proxy-server=${proxy}`, // 代理
              "--window-position=1921,0", // 打开的窗口位于屏幕的位置
            ],
          })

如果是到了线上,一般会采用 k8s 集群来跑浏览器容器,我使用过的是 browserless ,它跑起来之后提供一个入口可供您连接控制,下面是常用连接参数配置:

puppeteer.connect({
            browserWSEndpoint: (() => {
              const url = new URL("ws://localhost:9222");

              url.searchParams.set("stealth", "true");
              url.searchParams.set("timeout", `${ms(timeout)}`);
              url.searchParams.set("--disable-notifications", "true");
              url.searchParams.set(
                  "--blink-settings", 
                  "imagesEnabled=false"
              );
              url.searchParams.set("--user-agent", account.userAgent);
              url.searchParams.set("--proxy-server", proxy);
              return url.toString();
            })(),
            defaultViewport: { width: 1440, height: 780 },
          })
展示评论