如何限制用puppeter渲染的资源

时间:2018-04-09 17:32:24

标签: node.js puppeteer

有没有人知道如何限制木偶操作员发送的请求?我正在渲染一个网页,向google analytics和facebook等很多地方发送请求。我想让木偶操作者不渲染这些页面,所以我的算法在速度上有所提高。

谢谢:)

1 个答案:

答案 0 :(得分:1)

您可以使用page.setRequestInterception()来限制使用Puppeteer渲染的资源。

这是一个示例程序,它将中止包含URL google-analyticsfacebook的请求:

'use strict';

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  await page.setRequestInterception(true);

  page.on('request', intercepted_request => {
    if (intercepted_request.url().includes('google-analytics') || intercepted_request.url().includes('facebook')) {
      intercepted_request.abort();
    } else {
      intercepted_request.continue();
    }
  });

  await page.goto('https://example.com/');

  await browser.close();
})();