You need to keep track of the first request, if it fails then you can assume that the page is failed. AFAIK there's no easier way to accomplish that.
const CDP = require('chrome-remote-interface');
CDP(async (client) => {
const {Page, Network} = client;
let requestId;
let failed = false;
Network.requestWillBeSent((params) => {
requestId = params.requestId;
});
Network.loadingFailed((params) => {
if (params.requestId === requestId) {
failed = true;
}
});
Page.loadEventFired(() => {
if (failed) {
console.log('FAIL');
} else {
console.log('OK');
}
client.close();
});
try {
await Page.enable();
await Network.enable();
await Page.navigate({url: 'http://cantreached.com'});
} catch (err) {
console.error(err);
}
}).on('error', (err) => {
console.error(err);
});
Note cant.reached.com can actually be reached :)
you are awesome馃憤