javascript - 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();
解决方案
感谢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
})();
推荐阅读
- php - 在返回视图之前更改数据库中的数据
- python - 有没有一种非 AI 方法可以在 Python 中将图像分为两组?
- push-notification - 网络推送通知服务链接
- macos - 使用 React Native 或 Flutter 进行 iOS 开发,使用最少的苹果硬件
- c# - 什么分隔符可用于在其列中包含“,”的 .csv
- javascript - 如何在 javascript 中加载多个 JSON 文件
- ios - 接受 T.Type 或 [T].Type 作为参数并返回 T 的通用函数
- python-3.x - python-nested-dictionary - 键
- javascript - 如何使用 TinyMCE 设置自定义组件的样式?
- r - 如何使用跑步者计算 rlm 的跑步斜率?