在 puppeteer 中设置特定的 chrome 标志(启用和禁用)

zee*_*v_r 9 flags automation google-chrome puppeteer

我正在尝试将特定的 chrome 标志(在“chrome://flags/”中找到的标志)添加到我的浏览器在测试中的运行中。

我试图启用的标志是:

  • “#enable-webgl-draft-extensions”
  • “#shared-array-buffer”

并禁用:

  • “#enable-asm-webassembly”

在常规的 chrome 命令行中,它看起来像这样:

"--flag-switches-begin --enable-webgl-draft-extensions --enable-features=SharedArrayBuffer --disable-features=AsmJsToWebAssembly --flag-switches-end"
Run Code Online (Sandbox Code Playgroud)

如果我添加这些标准

puppeteer.launch({args});
Run Code Online (Sandbox Code Playgroud)

我在“--flag-switches-begin”行之前收到它们(我正在查看运行 chrome 的命令:“chrome://version”)。

非常感谢!

Nam*_*Anh 7

请按照以下步骤操作。

  1. puppeteer.defaultArgs()将为您提供所有默认标志。您使用此方法获取它们,然后过滤数组以删除您想要的标志。 https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#puppeteerdefaultargs

    const args = puppeteer.defaultArgs().filter(arg => arg !== '--enable-asm-webassembly')

  2. 现在,向数组添加一些标志。

    args.push('--enable-webgl-draft-extensions', '--shared-array-buffer')

  3. 启动ignoreDefaultArgs浏览器的新实例时启用标志。另外,请提供我们上面提出的参数列表。

    const browser = await puppeteer.launch({ ignoreDefaultArgs: true, args })

  • 链接不起作用 (2认同)

SON*_*GJP 6

await puppeteer.launch({
      args: [
        '--disable-features=LookalikeUrlNavigationSuggestionsUI'
      ]
})
Run Code Online (Sandbox Code Playgroud)

尝试这样的事情。

您可以启动 Chromium,切换您的标志,然后转到“chrome://version/”,以查看命令行中发生了什么变化。

就我而言,当我将“相似 URL 的导航建议”切换为禁用时?重新启动 Chrommium,然后我--disable-features=LookalikeUrlNavigationSuggestionsUI在命令行中找到了?

  • “你可以启动 Chromium,切换标志,然后转到“chrome://version/”,查看命令行中发生了什么变化。” 杰出的!谢谢。看起来一些可能的用于控制标志的命令行指令没有记录。但使用这种方法你可以弄清楚它们是什么。(注意:更改标志后必须重新启动浏览器才能更新 chrome://version 页面)。 (2认同)