实用指南:electron自动化,webview中通过a标签跳过弹框自动下载文件

renderer.js代码

webview.stop:需要通过stop才可阻止下载弹框

然后调用electron自带的插件去下载,downloadFile

webview.addEventListener('will-navigate', (e) => {
if(status == 'downIng'){
window.electronAPI.downloadFile(e.url,(aaaId||'testAaaId'),(companyName||'测试公司'))
status = "downEnd"
e.preventDefault(); // 阻止默认
webview.stop() // 阻止跳转
}
})

preload.js代码

注册下载事件

const { contextBridge, ipcRenderer } = require('electron/renderer')
contextBridge.exposeInMainWorld('electronAPI', {
downloadFile: (url,aaaId,companyName) => ipcRenderer.send('download-file', url,aaaId,companyName)
})

index.js代码

ipcMain.on('download-file', async (event, url, aaaId, companyName) => {
mainWindow.webContents.downloadURL(url);
})

posted @ 2025-07-31 22:56  yjbjingcha  阅读(26)  评论(0)    收藏  举报