我想从主进程中获取电子应用程序中发生的所有请求的响应。
此图显示我想要获得的响应位于 Chrome 开发工具的 Response 选项卡中,而不是 Headers 选项卡中。
我没有使用<webview>标签,我正在使用mainWindow.loadURL().
session.defaultSession.webRequest.onCompleted({ urls: ['*://*/*'] }, function (details, callback) {
console.log(details);
});
Run Code Online (Sandbox Code Playgroud)
因此,为了检索我尝试过的响应:
try {
mainWindow.webContents.debugger.attach('1.3')
} catch (err) {
console.log('Debugger attach failed: ', err)
}
mainWindow.webContents.debugger.on('detach', (event, reason) => {
console.log('Debugger detached due to: ', reason)
});
mainWindow.webContents.debugger.sendCommand('Network.enable');
session.defaultSession.webRequest.onCompleted({ urls: ['*://*/*'] }, function (details, callback) {
mainWindow.webContents.debugger.sendCommand('Network.getResponseBody', { requestId: details.id.toString() }, function (body, body64) {
console.log(body);
});
});
Run Code Online (Sandbox Code Playgroud)
但它输出
UnhandledPromiseRejectionWarning: Error: No resource with given identifier …Run Code Online (Sandbox Code Playgroud)