Puppeteer.js - 删除 Chrome 后台消息

Puppeteer.js - Remove Chrome background messages

我正在使用以下 Puppeeter.js(puppeteer-extra 是 Puppeeter.js 的扩展包)代码来创建我的浏览器:

const puppeteerExtra = require('puppeteer-extra');
const browser = await puppeteerExtra.launch({
    headless: false,
    ignoreDefaultArgs: ['--enable-automation'],
    args: [
        '--no-sandbox',
        '--disable-setuid-sandbox',
        '--disable-dev-shm-usage',
        '--start-maximized'
    ]
});

但我在登录后不断收到诸如“Chrome 不是您的默认浏览器”或 'Save credentials' 对话框之类的消息。
如何永久删除这些消息?附上图片看看我在说什么。
谢谢大家。
图片 1: 图 2:

更新:
我使用 ignoreDefaultArgs: ['--enable-automation'] 来删除顶部的 Chrome 消息“Chrome 正在由自动测试软件控制”。
图 3: 我想继续禁用此消息(图 3),并删除这些消息(图 1-2)。

使用 ignoreDefaultArgs: ['--enable-automation'] 会导致这两个问题。默认情况下,Puppeteer 使用 --enable-automation 标志启动 Chrome,该标志告诉 Chrome 不提示保存密码并且不显示默认浏览器检查提示(以及其他内容)。更多详情 here

通过在 ignoreDefaultArgs 中指定此标志,您告诉 Chrome 它不在 运行 自动化中,因此它会显示这些提示。所以删除它应该可以解决问题。

根据问题更新更新

不确定这是否适合您的用例,但另一种可能的选择是使用 --user-data-dir 标志让 Chrome 记住您的选择,这将使 Chrome 存储首选项(并且其他东西)到一个持久的位置。

所以基本上:

  1. '--user-data-dir=c:/temp2/' 添加到 puppeteerExtra.launch 调用中的 args。您可能想更改那里的位置。
  2. 启动您的脚本一次,这将打开 Chrome 并创建 --user-data-dir 中提到的目录来保存数据。在这里,手动关闭默认浏览器检查的横幅。然后手动打开浏览器设置并禁用“提供保存密码”选项。这些首选项将被保存。
  3. 关闭 browser/script.

随后,每当脚本启动时 Chrome,它会使用您保存的首选项并且不会向用户显示这 2 个提示。