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'
]
我正在从包含 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'
]