javascript - Puppeteer 中的重复请求 ID

标签 javascript node.js puppeteer chromium

Chromium/Puppeteer 似乎正在重用请求 ID。

我正在计算请求和响应 ID,我希望每个 ID 都得到两个(一个在请求上,然后在其 response.request()._requestId 上相同)但是我发现还有更多。

我正在收集这两个事件的指标:

    page.on('request', (request) => {
        const requestId = request._requestId;
        if (counter[requestId])
            counter[requestId]++;
        else
            counter[requestId.toString()] = 1;
    });

    page.on('response', (response) => {

        const requestId = response.request()._requestId;

        if (counter[requestId])
            counter[requestId]++;
        else
            counter[requestId] = 1;
    });

字符串化 counter 对象的结果:

{
    "750DF247357DA37DCCBE84ACEB1BB07E": 4,
    "22596.2": 2,
    "22596.3": 2,
    "22596.4": 2,
    "22596.5": 2,
    "22596.6": 2,
    "22596.7": 2,
    "22596.12": 2,
    "22596.13": 2,
    "22596.14": 2,
    "22596.19": 2,
    "22596.22": 2,
    "22596.35": 2,
    "22596.36": 2,
    "22596.37": 2,
    "22596.38": 2,
    "22596.39": 2,
    "22596.40": 2,
    "22596.41": 2,
    "22596.42": 2,
    "22596.43": 2,
    "22596.44": 2,
    "22596.45": 2,
    "22596.46": 2,
    "22596.47": 2,
    "22596.48": 2,
    "22596.49": 2,
    "22596.50": 6,
    "22596.51": 3,
    "22596.52": 3,
    "22596.53": 3,
    "22596.54": 3,
    "22596.55": 3,
    "22596.58": 2,
    "9D29F14302C8451741C1169CB32CDF21": 4,
    "581B16FB 5232782601F519C9558B218B": 4,
    "22596.60": 4,
    "22596.61": 2,
    "22596.62": 2,
    "22596.63": 2,
    "22596.65": 2,
    "22596.67": 2,
    "22596.68": 6,
    "22596.69": 2,
    "22596.70": 2,
    "22596.74": 2,
    "22596.76": 2,
    "22596.78": 2,
    "22596.79": 2,
    "22596.80": 2,
    "22596.86": 2,
    "22596.87": 2,
    "22596.88": 2,
    "22596. 89": 2,
    "22596.90": 2,
    "22596.91": 2,
    "22596.92": 2,
    "22596.93": 2,
    "22596.94": 2,
    "22596.95": 2,
    "22596.96": 2,
    "22596.97": 2,
    "817C68343178670A2608D3103FBBED3E": 4,
    "22596.98": 3,
    "22596.99": 2,
    "22596.100": 2,
}

_requestId 是否应该是页面中的唯一编号? 什么

最佳答案

我有同样的问题......解决我的编码如下:

在“根据请求”中,使用:const requestId = request._interceptionId

在“on response”中,使用:const requestId = response.request()._interceptionId

希望一切顺利

关于javascript - Puppeteer 中的重复请求 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59197471/

相关文章:

javascript - 如何在 Html 的下拉菜单中访问匹配的数据?

electron - 以编程方式控制 Chromium 实例的最可靠方法是什么?

javascript - 如何与 Puppeteer/Javascript 同时运行脚本?

javascript - 根据列表项点击更改 DIV 内容

javascript - Node.js Express,错误处理仅适用于 console.error

javascript - 复选框未定义行为

node.js - 使用nodejs在mongodb中保存替换的字符串数据

jestjs - 运行 jest-puppeteer 测试时未处理的错误

javascript - 正则表达式在8个字符串中搜索两个连续的数字和字母

javascript - 验证 HTML 数字输入