google-chrome - 如何使用 puppeteer 在 "headful"chrome 中加载多个扩展?

标签 google-chrome google-chrome-extension puppeteer

我发现了一个在启动 puppeteer Chrome 时成功加载扩展的代码,但我无法让它与几个扩展一起工作。

根据 Paul Browne 的帖子,它应该像这样工作:https://github.com/GoogleChrome/puppeteer/issues/659#issuecomment-409589805

var options = {
  headless: false,
  args: [
    '--disable-extensions-except=/path/to/ext1/, /path/to/ext2/, /path/to/ext3/'
  ]
}

当我只输入 1 个路径时,它运行良好,但路径的逗号分隔列表不起作用。浏览器仍然打开,但它只加载第一个扩展名,按照它们在标志中列出的顺序。 --load-extension确实不需要扩展加载。

有没有人想出多扩展的解决方案?

最佳答案

您可以通过这种方式加载多个扩展:

const ext1 = 'path to ext1';
const ext2 = 'path to ext2';
const ext3 = 'path to ext3';
const browser = await puppeteer.launch({
      headless: false,
      args: [`--disable-extensions-except=${ext1},${ext2},${ext3}`]
});
确保以逗号分隔的扩展名列表中没有空格,因此请确保它是
${ext1},${ext2},${ext3}
不是
${ext1}, ${ext2}, ${ext3}

关于google-chrome - 如何使用 puppeteer 在 "headful"chrome 中加载多个扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55634555/

相关文章:

javascript - 如何在页面开始加载之前将参数附加到 URL?

javascript - 使窗口在 Chrome 中不可调整大小

javascript - Chrome 扩展程序 : ContextMenu Right click link instead of selectiontext?

reactjs - 您无权使用阻塞 webRequest 监听器。请务必在 list 中声明 webRequestBlocking 权限

javascript - 通过 Chrome 扩展将数据发送到 REST

node.js - 使用 puppeteer 抓取动态站点

javascript - 如何在 Node.js 中根据纬度和经度设置自定义位置?

javascript - 未捕获的 DOMException : Failed to execute 'setItem' on 'Storage' : Setting the value of 'domains' exceeded the quota

javascript 大整数舍入因为精度? (为什么?)

javascript - Puppeteer HTML to PDF 不应用外部 css 文件