javascript - 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)。
解决方案
使用ignoreDefaultArgs: ['--enable-automation']
导致这两个问题。默认情况下,Puppeteer 使用标志启动 Chrome,该--enable-automation
标志告诉 Chrome 不提示保存密码并且不显示默认浏览器检查的提示(除其他外)。更多细节在这里
通过在 中指定此标志ignoreDefaultArgs
,您是在告诉 Chrome 它没有在自动化中运行,因此它会显示这些提示。所以删除它应该可以解决问题。
基于问题中的更新进行更新
不确定这是否适合您的用例,但另一个可能的选择是让 Chrome 记住您的选择,方法是使用--user-data-dir
使 Chrome 将首选项(和其他内容)存储到持久位置的标志。
所以基本上:
- 添加
'--user-data-dir=c:/temp2/'
到通话args
中。puppeteerExtra.launch
您可能想更改那里的位置。 - 启动您的脚本一次,这将打开 Chrome 并创建其中提到的目录
--user-data-dir
以保存数据。在这里,手动关闭默认浏览器检查的横幅。然后手动打开浏览器设置并禁用“提供保存密码”选项。这些偏好将被保存。 - 关闭浏览器/脚本。
随后,每当脚本启动 Chrome 时,它都会使用您保存的首选项,并且不会向用户显示这两个提示。
推荐阅读
- javascript - 如何在具有相同类名的 ul 列表中附加 li 元素?
- python - AWS Python Lambda 函数 - 将 UTF-8 编码的 CSV 写入 S3
- java - 哪个方法更快 ob.setText(""+int) 或 ob.setText(String.valueOf(int);
- excel - 在很多事情上需要帮助
- c# - 使用流读取器访问文件失败,因为它正被另一个进程使用
- javascript - 如何从 Javascript 函数中的 Promise 获得结果;
- c# - 我无法让我的 asp:Image "Visible" 属性值起作用,因此该元素是不可见的
- google-text-to-speech - 在 c# 中使用 [google-text-to-speech] v1Beta1 版本
- sql-server - 批量插入任务问题
- google-apps-script - Google 脚本 - 脚本超时