1
最終的なURLのスクリーンショットを撮る前に配列に保存されたPuppeteer APIを使用してすべてのドメインリダイレクトを取得しようとしていますが、これまでのコードでは他のリダイレクトもあります。puppeteer api:ドメインリダイレクトのみを取得
たとえば、私がgoto youtube.com
の場合、私のコードは正しくリダイレクト'https://youtube.com/', 'https://www.youtube.com/',
を取得しますが、doubleclick.netなどの他のリダイレクトも取得します。
私は、URLバーで起こるリダイレクトを取得したいだけです。
私はrequest.resourceType === 'document'
で絞り込むことができました。 これをさらに絞り込むにはどうすればよいですか?
は、ここでは、コードです:
// node chrome.js http://youtube.com
const puppeteer = require('puppeteer');
var url = process.argv[2];
(async() => {
const browser = await puppeteer.launch({headless: true, timeout: 30000, ignoreHTTPSErrors: true});
const page = await browser.newPage();
// await page.setRequestInterception(true); // hangs with resourcetype
const urls = [];
page.on('request', request => {
// if (request.resourceType === 'document' || request.resourceType === 'script') {
if (request.resourceType === 'document') {
urls.push(request.url);
request.continue();
}
});
await page.goto(url, {timeout: 20000, waitUntil: 'load'}); //default load
await page.screenshot({path: 'test.jpg', type: 'jpeg', quality: 80, fullPage: false});
console.log(urls);
await browser.close();
})();