Puppeteer 和 Chromium 在没有标志的情况下启动
Puppeteer and Chromium launch without flags
我有以下代码并试图拦截某个特定的 HTTP 请求。我面临的问题是,当通过 puppeteer
启动 chromium 时,有一些标志导致某些请求无法获得所需的数据。当我手动启动铬时,一切正常。
以抖音为例
由 Puppeteer 打开
要求
回应
以下是铬的详细信息,您可以看到带有 .exe
的标志
当我手动打开 chromium 时出现以下内容
具有此响应的相同请求
我试过以下代码
//const puppeteer = require('puppeteer');
//const puppeteer = require('puppeteer-core');
var currentCookies = null;
//const browser = await puppeteer.launch({ignoreDefaultArgs : true });
//const browser = await puppeteer.launch({headless: false, executablePath: 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe' , ignoreDefaultArgs : true });
const [page] = await browser.pages();
我已经通过使用正常 chrome 实现了它,但我不能在生产中使用它,因为它与 centos 和 CLI 一起运行。
我的问题是我们如何在没有任何标志的情况下启动 chromium?所以所有的操作都正常进行。
您可以使用 ignoreDefaultArgs
选项。这可以用作布尔值或数组。
布尔示例
当 ignoreDefaultArgs
设置为 true 时,puppeteer 不会向命令行添加任何标志,但会添加您在 args
选项中设置的标志。
const browser = await puppeteer.launch({ignoreDefaultArgs: true, args: ['--mute-audio'] });
数组示例
当您设置数组时,puppeteer 将从默认参数中删除这些标志。
const browser = await puppeteer.launch({ignoreDefaultArgs: ["-some-flag"] });
正如文档所说,这些都是危险的设置,因为我们知道 Puppeteer 使用这些苍蝇。所以我会试着看看是哪个特定的标志引起了麻烦。
我有以下代码并试图拦截某个特定的 HTTP 请求。我面临的问题是,当通过 puppeteer
启动 chromium 时,有一些标志导致某些请求无法获得所需的数据。当我手动启动铬时,一切正常。
以抖音为例
由 Puppeteer 打开
要求
回应
以下是铬的详细信息,您可以看到带有 .exe
当我手动打开 chromium 时出现以下内容 具有此响应的相同请求
我试过以下代码
//const puppeteer = require('puppeteer');
//const puppeteer = require('puppeteer-core');
var currentCookies = null;
//const browser = await puppeteer.launch({ignoreDefaultArgs : true });
//const browser = await puppeteer.launch({headless: false, executablePath: 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe' , ignoreDefaultArgs : true });
const [page] = await browser.pages();
我已经通过使用正常 chrome 实现了它,但我不能在生产中使用它,因为它与 centos 和 CLI 一起运行。
我的问题是我们如何在没有任何标志的情况下启动 chromium?所以所有的操作都正常进行。
您可以使用 ignoreDefaultArgs
选项。这可以用作布尔值或数组。
布尔示例
当 ignoreDefaultArgs
设置为 true 时,puppeteer 不会向命令行添加任何标志,但会添加您在 args
选项中设置的标志。
const browser = await puppeteer.launch({ignoreDefaultArgs: true, args: ['--mute-audio'] });
数组示例
当您设置数组时,puppeteer 将从默认参数中删除这些标志。
const browser = await puppeteer.launch({ignoreDefaultArgs: ["-some-flag"] });
正如文档所说,这些都是危险的设置,因为我们知道 Puppeteer 使用这些苍蝇。所以我会试着看看是哪个特定的标志引起了麻烦。