Puppeteer - RequestInterception
Aus Wikizone
Der RequestInterceptor klinkt sich quasi ein, wenn die ganzen Resourcen der Webpage nachgeladen werden. So kann man direkt eingreifen. Der Ladevorgang der Resourcen geht erst weiter, wenn request.continue() oder request.abort() aufgerufen wird.
Snippets
page.on('request', (request) => {
if (/\.(png|jpg|jpeg|gif|webp)$/i.test(request.url)) {
request.abort();
} else if (request.url.startsWith(defaults.URL_INSTAGRAM_GRAPHQL_QUERY)) {
query_id = request.url.split('=')[1].split('&')[0];
} else {
request.continue();
}
});
'use strict';
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setRequestInterception(true);
page.on('request', request => {
if (request.resourceType() === 'image') {
request.abort();
} else {
request.continue();
}
});
await page.goto('https://news.google.com/news/');
await page.screenshot({path: 'news.png', fullPage: true});
await browser.close();
})();