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

vas*_*123 3 javascript google-chrome-extension puppeteer

这是我第一次使用 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();
Run Code Online (Sandbox Code Playgroud)

因此扩展程序无法加载,并且我没有收到任何错误或任何信息。我很感激你的帮助

the*_*ton 6

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

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

正确使用puppeteer.launch

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

您可以利用有关使用 Chrome 扩展程序的官方文档 (链接更新日期:2023-03-11)。