Puppeteer page.setRequestInterception 没有在 iframe 上捕获任何请求

Puppeteer page.setRequestInterception didn't catch any requests on iframe

我正在从包含 iframe 的网页中抓取数据。 示例代码

await page.setRequestInterception(true);
page.on('request', request => {
    console.log(request.url());
    //.........................
    request.continue();
});

await page.goto(url, {waitUtil: 'networkidle0', timeout: 30000});
//..................

此代码仅显示主框架上的请求,无法捕获来自内部 iframe 的任何请求。在 Chrome 网络检查中,我看到很多来自该页面的 XHR 请求。

有没有办法在 iframe 上捕获请求?非常感谢!

当我设置 puppeteer headless = true 时,上面的代码有效。它捕获我正在抓取的网站上所有 iframe 的所有请求。

似乎将这些添加到浏览器启动选项可能会解决问题:

args: [
   '--disable-web-security',
   '--disable-features=IsolateOrigins,site-per-process'
]