木偶和铬发射没有标志

时间:2019-12-06 13:46:23

标签: javascript node.js google-chrome puppeteer chromium

我有以下代码,并试图拦截一个特定的HTTP请求。我面临的问题是,通过puppeteer启动铬时,会有一些标志导致某些请求无法获取所需数据。当我手动启动铬时,一切正常。 以tiktok为例

由木偶戏打开

请求

enter image description here

响应

enter image description here

以下是铬的详细信息,您可以看到带有.exe的标志

enter image description here

当我手动打开铬时,会出现以下情况 与此响应相同的请求

enter image description here

enter image description here

我尝试了以下代码

//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上运行,因此无法在生产环境中使用。

我的问题是,如何在没有任何标志的情况下启动铬?因此,所有操作均正常完成。

1 个答案:

答案 0 :(得分:0)

您可以使用ignoreDefaultArgs选项。可以将其用作布尔值或数组。

布尔型示例
ignoreDefaultArgs设置为true时,操纵up不会将任何标志添加到命令行,而是在args选项上设置的标志。

const browser = await puppeteer.launch({ignoreDefaultArgs: true, args: ['--mute-audio'] });

数组示例
设置数组时,puppeteer将从默认参数中删除这些标志。

const browser = await puppeteer.launch({ignoreDefaultArgs: ["-some-flag"] });

正如医生所说,这些都是危险的设置,因为我们知道Puppeteer会使用这些苍蝇工作。因此,我将尝试查看哪个特定标志引起了麻烦。