puppeteer 无法在浏览器中加载 chrome 扩展

puppeteer unable to load chrome extension in browser

这是我第一次使用 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();

所以扩展程序没有加载,我也没有收到任何错误消息。非常感谢您的帮助

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

你似乎也犯了一个错误,在你应该使用 args 的地方使用 ignoreDefaultArgs(就像这样,Chromium 确实做了与你预期相反的事情)。

puppeteer.launch的正确用法:

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

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