【问题标题】:How to run setup code before extension loaded in puppeteer?如何在 puppeteer 中加载扩展之前运行设置代码?
【发布时间】:2021-11-12 10:26:00
【问题描述】:

我正在使用 puppeteer 测试 chrome 扩展的行为。 安装后,扩展程序会打开一个页面。我想在加载扩展之前在浏览器中进行初始设置(例如,设置本地存储或注入 jest mock)。

我现在遇到的问题是扩展程序在浏览器启动时加载,所以我不知道在加载扩展程序之前执行设置代码的任何方法。

这是我当前加载扩展的方式(位于dist/chrome 文件夹中):

  const browser = await puppeteer.launch({
    args: [
      '--disable-extensions-except=dist/chrome',
      '--load-extension=dist/chrome',
    ],
    headless: false,
    ignoreDefaultArgs: ['--disable-extensions'],
  });

如何在加载扩展程序之前进行初始设置?

我能想到的一些选项是:1)在浏览器启动后加载扩展 2)在扩展初始化之前拦截扩展安装并执行设置代码

【问题讨论】:

    标签: google-chrome-extension puppeteer


    【解决方案1】:

    我来寻找答案,发现它阅读了你的问题,所以我把它留在这里,以防我以后必须再次搜索它......

    诀窍是在运行实际扩展程序之前创建一个“启动器”扩展程序,其唯一目的是运行设置代码。它看起来像:

          '--disable-extensions-except=dist/launcher,dist/chrome',
          '--load-extension=dist/launcher,dist/chrome',
    

    【讨论】:

      猜你喜欢
      • 2012-06-14
      • 1970-01-01
      • 1970-01-01
      • 2011-10-20
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 2018-09-24
      • 1970-01-01
      相关资源
      最近更新 更多