Как запустить puppeteer-web внутри расширения chrome с помощью API chrome.debugger? - PullRequest
1 голос
/ 01 июля 2019

Я хочу иметь возможность запускать puppeteer-web из расширения Chrome, но подключить его к браузеру с помощью API-интерфейса chto.debugger devtools, который доступен для расширений. В отличие от подключения к удаленному порту отладки (9222) или 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();
}

Это работает нормально, но это означает, что я должен запустить Google Chrome с параметром --remote-debugging-port=9222, который не идеален. Кажется ненужным открывать порт удаленной отладки, когда API chrome.debugger уже доступен для расширений, поэтому расширение не должно выходить «за пределы» приложения для доступа к devtools.

Я видел, что в тестовом файле браузера кукловода есть пример, где он вызывает puppeteer.connect({transport: window.cdp});, и это похоже на то, что я хочу сделать, но свойство window.cdp не определено в моем расширении, и я не могу найти никакой документации об этом.

Любая помощь будет высоко ценится, спасибо.

...