pup*_*eno 5 javascript webview electron
我需要在 Electron 应用程序中呈现一个网页并截取屏幕截图而不向用户显示此网页。我该怎么做?最好的方法是什么?
我尝试创建一个 webview 元素并通过给它一个绝对定位和 -99999px 顶部和左侧来隐藏,但是 capturePage 方法时不时地永远停止。当我通过使用检查器删除该 CSS 使其可见时,它看起来是空白的,但页面会立即呈现并调用回调。
我尝试过屏幕外渲染启动一个 BrowserWindow,但它实际上创建了另一个没有标题栏的窗口,如下所示:
任何想法如何使这些工作或其他方法?
小智 3
尝试这个。此示例将文件以 png 格式保存到本地计算机。
const { app, BrowserWindow } = require('electron')
const fs = require("fs")
app.disableHardwareAcceleration()
let win
app.once('ready', () => {
win = new BrowserWindow({
webPreferences: {
offscreen: true
}
})
win.loadURL('http://github.com')
win.webContents.on('paint', (event, dirty, image) => {
// Example Code
fs.writeFile('ex.png', image.toPNG(), (err) => {
if (err) throw err;
console.log('The file has been saved!');
})
})
win.webContents.setFrameRate(30)
})
Run Code Online (Sandbox Code Playgroud)