Как прервать запрос Puppeteer при использовании «Network. RequestIntercepted» (аналогично request.abort () из setRequestInterception)? - PullRequest
1 голос
/ 27 мая 2020

Я не могу перехватить с помощью функции setRequestInterception, какой-то важный запрос go не проходит через него.

Вместо этого я использовал Network.setRequestInterception, и это было приятно, помимо того, что может прервать нежелательный запрос.

Если я намеренно проигнорирую его с помощью предложения if else, большая часть запросов не покинет браузер и вызовет множество ошибок в приостановленном состоянии.

Мне нужно альтернативная команда request.abort(), когда я работаю с Network.requestIntercepted, вот мой код:

const client = await page.target().createCDPSession();
await client.send('Network.enable');
await client.send('Network.setRequestInterception',{
patterns:[
{urlPattern :'*'}
]
});
client.on('Network.requestIntercepted',async({interceptionId,request})=>{
if (request.url.indexOf('Loading') == -1 ){
await client.send('Network.continueInterceptedRequest',{
interceptionId
});
}else{
//I want request.abort()
}
});

Спасибо !!

1 Ответ

0 голосов
/ 27 мая 2020

Похоже, то же самое 'Network.continueInterceptedRequest' можно использовать для отмены:

}else{
  await client.send('Network.continueInterceptedRequest', {
    interceptionId,
    errorReason: 'Aborted',
  });
}
...