Javascript 如何使用chrome.debugger API在chrome扩展中运行Puppeter web?

Javascript 如何使用chrome.debugger API在chrome扩展中运行Puppeter web?,javascript,google-chrome-extension,puppeteer,Javascript,Google Chrome Extension,Puppeteer,我希望能够从chrome扩展内部运行Puppeter web,但让它使用chrome.debugger devtools API连接到浏览器,该API可用于扩展。与连接到远程调试端口(9222)或websocket url不同 在我的扩展中运行的javascript代码如下: const puppeteer = require('puppeteer'); async function runPuppet(url) { const browser = await puppeteer.conn

我希望能够从chrome扩展内部运行Puppeter web,但让它使用chrome.debugger devtools API连接到浏览器,该API可用于扩展。与连接到远程调试端口(9222)或websocket url不同

在我的扩展中运行的javascript代码如下:

const puppeteer = require('puppeteer');

async function runPuppet(url) {
  const browser = await puppeteer.connect({browserURL: 'http://localhost:9222'});
  const page = await browser.newPage();

  await page.setRequestInterception(true);
  await page.goto(url);

  return page.url();
}
这很好,但这意味着我必须使用
--远程调试端口=9222
选项启动google chrome,这并不理想。当chrome.debugger API已经可用于扩展时,似乎没有必要打开远程调试端口,这样扩展就不必“走出”应用程序才能访问devtools

我已经看到,在中有一个例子,它调用
puppeter.connect({transport:window.cdp})
这看起来像是我想做的事情,但是属性
window.cdp
在我的扩展中没有定义,我也找不到任何关于它的文档


任何帮助都将不胜感激,谢谢。

嗨,埃文,你最终找到了解决方案吗?我用目标域解决了这个问题,但它并不理想。不,不幸的是,仍然没有解决方案,虽然目标域的解决方案很有趣,但我同意不理想。谢谢你为什么不在木偶剧github上发个问题?