告诉 Puppeteer 打开 Chrome 选项卡而不是 window

Tell Puppeteer to open Chrome tab instead of window

如果我有一个现有的 Google Chrome window 打开,我想告诉 puppeteer 打开一个新标签而不是打开一个新的 window。有没有办法做到这一点?是否有一些选项或标志我可以传递给木偶操纵者来完成这个?

我有:

const puppeteer = require('puppeteer');

(async function () {

  const b = await puppeteer.launch({
    devtools: true,
    openInExistingWindow: true /// ? something like this?
  });

  const page = await b.newPage();
  await page.goto('https://example.com');

})();
const browser = puppeteer.launch();
const page = browser.newPage();

这实际上会在您当前的浏览器实例上打开一个新选项卡。 您可以查看页面 class 文档 here and the browser class docs here.

您需要使用:

/usr/bin/google-chrome-stable --remote-debugging-port=9220

获取用于调试的 websocket 连接,然后可以将其提供给 Puppeteer:

await puppeteer.connect({browserWSEndpoint: chromeWebsocket})