首页 > 解决方案 > Puppeteer.js - 删除 Chrome 背景信息

问题描述

我正在使用以下 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 不是您的默认浏览器”或“保存凭据”对话框之类的消息。
如何永久删除这些消息?附上图片,看看我在说什么。
感谢大家。
图 1: 图 2:在此处输入图像描述
在此处输入图像描述

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

标签: javascriptnode.jsbrowserpuppeteerchromium

解决方案


使用ignoreDefaultArgs: ['--enable-automation']导致这两个问题。默认情况下,Puppeteer 使用标志启动 Chrome,该--enable-automation标志告诉 Chrome 不提示保存密码并且不显示默认浏览器检查的提示(除其他外)。更多细节在这里

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

基于问题中的更新进行更新

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

所以基本上:

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

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


推荐阅读