javascript - 如何在 Electron BrowserWindow 中打开 puppeteer 页面

标签 javascript electron

在 ElectronJS 中,我可以使用以下命令打开 BrowserWindow:

let window = new BrowserWindow({ width: 600, height: 400 });

此外,我可以使用以下命令通过 Puppeteer 启动 headful Chromium 实例:

const browser = await puppeteer.launch(
{
    headless: false
});

但是,我不想打开一个新的 Chromium 窗口(即在自己的窗口中启动 Chromium),而是想将其直接嵌入到我的应用程序的 BrowserWindow 中(即在其中启动 Chromium)我的应用程序就好像它是某种集成浏览器)。

我正在寻找在美学上与将 BrowserView 嵌入到我的 BrowserWindow 中相同的东西,如下所示:

let view = new BrowserView();
window.addBrowserView(view);
view.setBounds({ x: 0, y: 0, width: 600, height: 400 });

但是,我想使用 Puppeteer Page 来完成此操作。

最佳答案

您可以使用浏览器类上的 newPage 函数将另一个页面添加到窗口中。

通过 pages 函数,您可以解构页面并命名它们,以便您可以使用它们。

如下:

const browser = await puppeteer.launch();
await browser.newPage();
const [firstPage, secondPage] = await browser.pages();

// use both pages
firstPage.goto('www.google.com')
secondPage.goto('www.bing.com')

注意:newPagepages 函数是异步的,因此您需要等待结果。

关于javascript - 如何在 Electron BrowserWindow 中打开 puppeteer 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59593110/

相关文章:

javascript - Office-js Excel 插件 : when to return context. 同步()

javascript - 在另一个 div onClick 和 onMouseLeave 中动画 div

hyperlink - Electron - 链接在新窗口中打开

macos - 无法在OSX上建立 Electron 1.6.2

electron - 为什么 ffmpeg 与我的 Electron 应用程序捆绑在一起?

javascript - 使用jquery向页面链接添加参数

javascript - TypeError : selector. 拆分不是 Cypress 的函数

javascript - 使用 Nightmare/Electron 进行动态分页(页面抓取)

javascript - 拖放出 Electron 应用程序

javascript - 您可以在 onClick 函数中使用 useState 钩子(Hook)吗?