Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript puppeter:获取特定请求的JSON响应,如DevTools的network选项卡中所示_Javascript_Web Scraping - Fatal编程技术网

Javascript puppeter:获取特定请求的JSON响应,如DevTools的network选项卡中所示

Javascript puppeter:获取特定请求的JSON响应,如DevTools的network选项卡中所示,javascript,web-scraping,Javascript,Web Scraping,我想直接从屏幕截图中显示的twitter上获得请求的响应 当前的木偶演员代码如下所示。有人能告诉我如何修改它,以便它直接从浏览器获得JSON响应吗?谢谢 const puppeter=require('puppeter'); (异步()=>{ //const browser=wait puppeter.launch(); const browser=wait puppeter.launch({ 无头:错 }); const page=wait browser.newPage(); 等待页面。转

我想直接从屏幕截图中显示的twitter上获得请求的响应

当前的木偶演员代码如下所示。有人能告诉我如何修改它,以便它直接从浏览器获得JSON响应吗?谢谢

const puppeter=require('puppeter');
(异步()=>{
//const browser=wait puppeter.launch();
const browser=wait puppeter.launch({
无头:错
});
const page=wait browser.newPage();
等待页面。转到('https://twitter.com/login');
等待页面。等待(3000)
等待页面。键入('input[name=“session[username\u或电子邮件]”],'username');
等待页面。等待(3000)
等待page.type('.js密码字段','密码');
等待页面。等待(3000)
等待页面。单击('.EdgeButtom--medium');
等待页面。等待(3000)
等待页面。转到('https://mobile.twitter.com/holidaytimeuk/status/1213629088671371267');
等待页面。等待(3000)
const linkHandlers=wait page.$x(“//*[@id='react-root']/div/div/div/div/div/div/div/div[2]/div/section/div/div/div/div[1]/div/article/div/div[6]/div[2]/a”);
如果(linkHandlers.length>0){
const[response]=等待承诺([
page.waitForResponse(response=>response.url()。包含('https://api.twitter.com/2/timeline/liked_by.json')),
链接处理程序[0]。单击()
]);
const dataObj=await response.json();
console.log(dataObj);
}否则{
抛出新错误(“未找到链接”);
}

})();我总是需要一段时间来摆弄木偶演员,但是看看。这允许您在页面上下文中运行函数。

我尝试添加但没有响应,请帮助我const firstRequest=wait page.waitForRequest(');const finalRequest=wait page.waitForRequest(request=>request.url()===''&&request.method()===='GET');返回firstRequest.url();您想使用
page.on('response')
我相信请帮助我。