我试图在测试中添加Chrome浏览器的特定标志(在" chrome:// flags /"中找到的标志)。
我试图启用以下标志:
并禁用此项:
如下所示:
"--flag-switches-begin --enable-webgl-draft-extensions --enable-features=SharedArrayBuffer --disable-features=AsmJsToWebAssembly --flag-switches-end"
如果我在
中添加这些标准puppeteer.launch({args});
我在" - flag-switches-begin"之前收到它们。 line(我正在观看chrome运行的命令:" chrome:// version")。
非常感谢你!答案 0 :(得分:0)
请按照以下步骤操作。
puppeteer.defaultArgs()
将为您提供所有默认标志。您可以使用此方法获取它们,然后过滤数组以删除所需的标志。
https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#puppeteerdefaultargs
const args = puppeteer.defaultArgs().filter(arg => arg !== '--enable-asm-webassembly')
现在,向数组添加一些标志。
args.push('--enable-webgl-draft-extensions', '--shared-array-buffer')
启用ignoreDefaultArgs
标志。另外,提供我们上面所做的论点列表。
const browser = await puppeteer.launch({ ignoreDefaultArgs: true, args })
答案 1 :(得分:0)
先前的答案已经指出了正确的方向,但是可以使其更简单。关键是您需要将参数拆分为一个数组。该代码可以简单地是:
const browser = await puppeteer.launch({args:["--flag-switches-begin", "--enable-webgl-draft-extensions", "--enable-features=SharedArrayBuffer", "--disable-features=AsmJsToWebAssembly", "--flag-switches-end"]});
答案 2 :(得分:0)
await puppeteer.launch({
args: [
'--disable-features=LookalikeUrlNavigationSuggestionsUI'
]
})
尝试这样的事情。
您可以启动Chromium,切换标志,然后转到“ chrome:// version /”,以查看命令行中发生了什么变化。
在我的情况下,当我将“类似URL的导航建议”切换为禁用,重新启动Chrommium时,我在命令行中找到了--disable-features=LookalikeUrlNavigationSuggestionsUI
。
答案 3 :(得分:0)
正确的参数是:
await puppeteer.launch({headless: headless, devtools: true, args: ['--disable-web-security', '--disable-features=IsolateOrigins', ' --disable-site-isolation-trials ']});
但是 puppeteer 一直崩溃。
原因是我使用了旧的 puppeteer 版本,puppeteer 1.8.0。 升级到 puppeteer@8.0.0 后就可以了。
您可以检查隔离是否被禁用: chrome://process-internals
建议于 https://stackoverflow.com/a/51320323/337587
关于标志的更多信息:https://www.chromium.org/Home/chromium-security/site-isolation