首页 > 解决方案 > Puppeteer.launch 取决于操作系统

问题描述

这是否可以根据 OS.platform 设置浏览器启动的参数逻辑,如下所示:

const puppeteer = require('puppeteer');
const browserFetcher = puppeteer.createBrowserFetcher();

    (async () => {
      const platforme = await browserFetcher.platform()
      const browser = await puppeteer.launch( 
  ??? ()=>{
         if (platforme=="win64"||"win32")
      //run this params   headless: false; defaultViewport: null;
         else if (platforme=="linux")
      //run this params headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox','--disable-dev-shm-usage']
     });
     const page = await browser.newPage();

标签: javascriptpuppeteer

解决方案


感谢vsemozhebuty更新了工作代码

const puppeteer = require('puppeteer');
const browserFetcher = puppeteer.createBrowserFetcher();
            
(async () => {
   const platforme = await browserFetcher.platform()
   const config = { ...(
      platforme === "win64" || platforme === "win32" ? { headless: false, defaultViewport: null } :
      platforme === "linux" ? {headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox','--disable-dev-shm-usage']} :
      {}
   ) };
   console.log(config);
   const browser =   await puppeteer.launch(config);
   const page = await browser.newPage();
   //code
})();

推荐阅读