Puppeteer 加载页面时如何获得孔响应

Puppeteer 加载页面时如何获得孔响应,puppeteer,Puppeteer,当我使用page.todo('https://www.alipay.com/“并使用page.on('response',res=>{console.log(res)})侦听响应事件。没有响应 但事实上,加载页面时有几个http请求,如下所示: 我应该如何获得这些请求和响应 我注意到屏幕截图中的一些pic请求是CSS样式的代码,如背景图像,这些请求是否不能在事件“response”下侦听 这是我的密码: 'use strict'; const puppeteer = require('pupp

当我使用
page.todo('https://www.alipay.com/“
并使用
page.on('response',res=>{console.log(res)})侦听响应事件。
没有响应

但事实上,加载页面时有几个http请求,如下所示:

我应该如何获得这些请求和响应

我注意到屏幕截图中的一些pic请求是CSS样式的代码,如
背景图像
,这些请求是否不能在事件“response”下侦听

这是我的密码:

'use strict';
const puppeteer = require('puppeteer');
const devices = require('puppeteer/DeviceDescriptors');

const iPhone = devices['iPhone 6'];

(async () => {
  const browser = await initBrowser();
  const page = await openPage(browser, 'https://www.alipay.com');
  page.on('response', res => {
    console.log('response: ', res);
  });
  return browser.close();
})();

async function initBrowser() {
  return await puppeteer.launch({ headless: true });
}

async function openPage(browser, url) {
  const page = await browser.newPage();
  try {
    await page.emulate(iPhone);
    await page.goto(url);
  } catch (e) {
    console.log(e);
    page.close();
    return null;
  }
  return page;
}

要获取页面请求,必须将
page.setRequestInterception
设置为
true

然后在
request
事件中,每个请求都将被拦截,并且可以被阻止或继续

  const page = await browser.newPage();
  await page.setRequestInterception(true);
  page.on('request', interceptedRequest => {
    console.log(interceptedRequest.url()); // print out the request url
    interceptedRequest.continue(); // don't block the request
  });
  await page.goto('https://example.com');

代码在导航到url之前不会侦听响应,
page.on('request',res=>console.log(res));
应在导航到url之前设置

const page = await browser.newPage();
page.on('request', res => console.log(res));
page = await openPage(page, url); // <-- pass in page here instead of browser
                                  // because page is now defined
const page=wait browser.newPage();
page.on('request',res=>console.log(res));
页面=等待打开页面(页面,url)//