【问题标题】:puppeteer unable to load chrome extension in browserpuppeteer 无法在浏览器中加载 chrome 扩展
【发布时间】:2021-04-11 19:01:31
【问题描述】:

这是我第一次使用 puppeteer,我想打开一个 google chrome 页面并导航到我安装的 chrome 扩展。我尝试启用 chrome 扩展,但是当我在 headless:false 模式下运行我的脚本时,浏览器会弹出而没有我的扩展。

我的代码:

//my extension path 
const StayFocusd = 'C:\\Users\\vasilis\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Extensions\\laankejkbhbdhmipfmgcngdelahlfoji\\1.6.0_0';

async function run(){
  
  //this is where I try to enable my extension 
  const browser = await puppeteer.launch({
    headless: false,
    ignoreDefaultArgs: [`--disable-extensions-except=${StayFocusd}`,"--enable-automation"],
  } 

  );
  
  const page = await browser.newPage();       
  sleep(3000);

  await browser.close();  
}


run();

所以扩展没有加载,我没有收到任何错误或任何东西。非常感谢您的帮助

【问题讨论】:

    标签: javascript google-chrome-extension puppeteer


    【解决方案1】:

    用你的 CRX 路径设置--disable-extensions-except 启动标志是不够的,你还应该使用--load-extension 在打开的浏览器实例中实际加载你的扩展。

    您似乎在使用 ignoreDefaultArgs 时也犯了一个错误,而您应该使用 args(就像这个 Chromium 确实与您的预期相反)。

    puppeteer.launch的正确用法:

    const browser = await puppeteer.launch({
      headless: false,
      args: [
        `--disable-extensions-except=${StayFocusd}`, 
        `--load-extension=${StayFocusd}`,
        '--enable-automation'
      ]
    }) 
    

    您可以使用Working with Chrome Extensions的官方文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-26
      • 1970-01-01
      • 2020-02-22
      • 1970-01-01
      • 2015-08-27
      相关资源
      最近更新 更多