最小 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
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow