Puppeteer 无法拦截 xhr 响应 json

问题描述

当我访问此 URL 时: https://www.petedge.com/tp-cat-grooming-bag#sku_id=TP463%2017 在 chrome 网络选项卡中,我可以看到这个网络 GET 请求到一个返回 JSON 数据的 url:

enter image description here

我有一个 node.js puppeteer 程序,我试图拦截这个网络请求,但它不起作用。

    await page.setRequestInterception(true)

    //intercept requests
    page.on('request',(request) => {
      request.continue()
    })

    //intercept responses
    page.on('response',async (response) => {
        console.log("response.url() = ",response.url())
        //widget.trustpilot.com/trustBox-data
        /*
        if(response.url().includes("widget.trustpilot.com/trustBox-data/")){
            console.log("   GOOD response.url() = ",response.url())
            const res = await page.waitForResponse(response);
            console.log("res=",res);
        }
        */
    })
  
    await page.goto(producturl,{
        waitUntil: "networkidle2",});

    console.log('loaded')

在我的console.log输出中,我可以看到它拦截了xhr请求,如果我ctrl+f URL中没有带有文本“trustBox-data”的请求,为什么我访问时可以在页面上看到这个请求却没有被人偶拦截

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)