伪造者访问特定请求的响应,如devtools的“网络”选项卡中所示

时间:2019-06-09 11:44:37

标签: google-chrome-devtools puppeteer

我想直接获取屏幕快照中显示的最后一个HTTP请求的响应。

当前的伪造者代码如下所示。谁能告诉我如何修改它,使其直接从浏览器获取JSON响应?谢谢。

pow(2, 10, z=17)

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用page.waitForResponse等待响应,并使用response.json将响应解析为JSON。

代码

以此替换await linkHandlers[0].click();部分:

const [response] = await Promise.all([
    page.waitForResponse(response => response.url().includes('/gene/api/data/Enhancers')),
    linkHandlers[0].click()
]);
const dataObj = await response.json();
console.log(dataObj);

这将首先等待响应(同时进行单击)。检测到响应后,将响应解析为JSON。要获得纯文本形式的响应结果(而不是解析它),可以使用response.text()