最小 puppeteer 响应拦截示例

**使用 Python (pyppeteer)?**请查看 Pyppeteer 最小网络响应拦截示例

此示例向你展示如何在 puppeteer 中拦截网络响应。 注意:这拦截的是响应,而不是请求!这意味着你不能在请求实际发送到服务器之前中止请求,但你可以读取响应的内容!请参见最小 puppeteer 请求拦截示例了解如何拦截请求的示例。

puppeteer_intercept_response.js
const puppeteer = require('puppeteer');
(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  // 启用响应拦截
  page.on('response', async (response) => {
      console.info("URL", response.request().url());
      console.info("Method", response.request().method())
      console.info("Response headers", response.headers())
      console.info("Request headers", response.request().headers())
      // 使用此方法获取内容作为文本
      const responseText = await response.text();
      // ... 或作为缓冲区(用于二进制数据)
      const responseBuffer = await response.buffer();
      // ... 或作为 JSON,如果是 JSON(否则,这会抛出异常!)
      const responseObj = await response.json();
  })
  await page.goto('https://techoverflow.net', {waitUntil: 'domcontentloaded'});
  // 截图
  await page.screenshot({path: 'screenshot.png'});
  await browser.close();
})();

Check out similar posts by category: Javascript, Puppeteer