我试图在访问页面时获取所有网络请求并将它们存储到数组中。
我的代码如下所示:
await page.setRequestInterceptionEnabled(true);
page.on('request', request => {
if(request.url) {
var networkRequests = request.url;
var networkArray = [];
for (var i = 0; i < networkRequests; i++) {
networkArray.push(networkRequests[i]);
}
console.log(networkArray);
console.log(typeof networkArray);
request.continue();
} else {
request.abort();
}
});
await page.goto('http://www.example.com', {waitUntil: 'networkidle'});
我发现问题出在request.continue()
. 它为每个获取的请求创建多个迭代,并且对于每个迭代,它显示该请求并将其作为字符串返回。这意味着我最终得到了几个字符串。
问题是我无法将所有这些字符串插入一个数组,所以我最近可以使用它们。我尝试了几个 for 循环,但没有成功。