如何使用 Puppeteer 从 XHR 请求获取正文/json 响应[重复]

2024-02-18

我想从使用 Puppeteer 抓取的网站获取 JSON 数据,但我不知道如何取回请求正文。这是我尝试过的:

const puppeteer = require('puppeteer')
const results = [];
(async () => {
    const browser = await puppeteer.launch({
        headless: false
    })
    const page = await browser.newPage()
    await page.goto("https://capuk.org/i-want-help/courses/cap-money-course/introduction", {
        waitUntil: 'networkidle2'
    });

    await page.type('#search-form > input[type="text"]', 'bd14ew')  
    await page.click('#search-form > input[type="submit"]')

    await page.on('response', response => {    
        if (response.url() == "https://capuk.org/ajax_search/capmoneycourses"){
            console.log('XHR response received'); 
            console.log(response.json()); 
        } 
    }); 
})()

这只是返回一个承诺待处理函数。任何帮助都会很棒。


As response.json返回一个我们需要等待的承诺。

page.on('response', async (response) => {    
    if (response.url() == "https://capuk.org/ajax_search/capmoneycourses"){
        console.log('XHR response received'); 
        console.log(await response.json()); 
    } 
}); 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Puppeteer 从 XHR 请求获取正文/json 响应[重复] 的相关文章

  • 刷新页面后保留输入值

    我有一个带有输入字段的表单 该输入包含一个下拉菜单 从数据库中读取信息 如果用户输入值 并且当他到达下拉菜单时 他没有找到他想要的内容 他会转到另一个页面将此信息添加到下拉菜单 然后转到第一页继续输入信息 如果他转到另一个页面向下拉菜单添加
  • Javascript - 使数组索引 toLowerCase() 不起作用

    我试图将所有数组索引设置为小写字符串 但它不起作用 我在这里查看了其他答案并尝试了他们的解决方案 例如使用toString 添加之前toLowerCase但它不起作用 这很奇怪 我创建了一个问题的jsfiddlehere https jsf
  • 如何从对象数组中删除所有重复项?

    This is a large array of objects e g let totalArray id rec01dTDP9T4ZtHL4 fields user id 170180717 user name abcdefg even
  • Strongloop 环回 如何使用路由进行静态服务?

    我想做类似的事情 server js app use client loopback static dirname client using middleware json 但该示例仅适用于根 files loopback static p
  • Chrome 跨域 PATCH 请求不起作用

    我有一个带有 REST Api 的网站 现在我正在创建一个浏览器扩展 它将从某些页面收集数据并将它们发送回 REST Api 因为我希望我的扩展能够与 Firefox 和 Chrome 兼容 并且易于维护 所以我将实际代码作为脚本标记注入到
  • 预加载 javascript 和 css 文件

    我目前正在开发一个移动网站 该网站大量使用图像 CSS 和 JavaScript 例如 它使用未压缩的 150KB 的库 我为图像构建了一个预加载器 效果相当好 function loadImages images var sum 0 fo
  • UpdatePanel 启动脚本未执行

    我正在编写一个在 SharePoint 网站中使用的 ASP NET Web 部件 并尝试使用 UpdatePanel 来呈现查询结果 我想使用 JQuery 插件来修改从异步回发返回的表 但我无法让启动脚本在异步更新上执行 我发现这个帖子
  • 如何在socket.io Nodejs服务器上列出房间

    在问题取得进展后如何创建socket io多播组 https stackoverflow com questions 6616922 how to create socket io multicast groups 6624604 6624
  • 将屏幕宽度获取到 javascript 变量中并通过 ajax 将其发送到 php 页面以避免页面加载

    这是JS检测我的页面命名上的屏幕分辨率index html并将其发送到 php 以便可以使用以下方式检索值 GET 这是我的PHP文件命名的内容process php
  • Flask 和 Reactjs 抛出 JSX 转换错误

    我已经开始将 ReactJS 与 Python Flask 后端结合使用 通过 Flask 渲染模板时 我在 Chrome 控制台中收到以下客户端错误 错误 找不到模块 jstransform visitors es6 templates
  • Jquery 子元素发生变化

    我正在尝试使用 jquery 在子元素 在本例中为 select 更改时触发事件 这是我的 HTML div class row addForm div class col lg 2 col md 2 col sm 3 col xs 6 d
  • 带有桌子的嵌套表

    我在应用了表排序器的表中嵌套了表 它在嵌套表中添加了排序标题 但是它们没有对行进行排序 并且抛出了JavaScript错误 我想拥有 嵌套表不可排序 巢表上的排序实际上可以工作 但不是现状 您的第一个选择要容易得多 使嵌套表不可排序 像这样
  • 如果突出显示一个单词并且用户单击连接单词,则同时突出显示两个单词

    我最近发布了一个question https stackoverflow com questions 34963610 how can i highlight a word term quicker and smarter寻求一种更智能地突
  • 电子邮件模板中的剪贴板功能

    我想在电子邮件模板中发送优惠券代码 一个小按钮 用于复制剪贴板上输入元素的内容 通过电子邮件模板 我的意思是我想发送一封电子邮件 其中包含优惠券代码 并且电子邮件模板中会有一个按钮 允许我将其复制到剪贴板 这可以做到吗 任何帮助将不胜感激
  • 如何获取从 Express (Node.js) 中的表单传递的数据

    我想获取使用表单从页面传递的数据 并在重定向的页面中使用该数据 我的客户端有这个表格
  • Dojo“正在加载”消息

    我是 Dojo 新手 所以我需要一些帮助 我的一些链接需要一段时间 当用户单击时 页面开始加载需要几秒钟 我想添加一条 正在加载 消息 我可以用 旧时尚方式 来做 但我想学习新的 更简单 更智能的 Dojo 方式 具体如何工作现在并不重要
  • 检测 html 选择框上的编程更改

    有没有办法让 HTML 选择元素在每次以编程方式更改其选择时调用函数 当使用 JavaScript 修改选择框中的当前选择时 IE 和 FF 都不会触发 onchange 此外 更改选择的 js 函数是框架的一部分 因此我无法更改它以在结束
  • javascript 闭包和对象引用

    我的情况有点晦涩难懂 主要是因为我认为我已经掌握了闭包 所以基本上我想要的是将集合重置为默认值 假设我有一个集合 它具有带有对象参数数组的构造函数 var c new collection x y z 然后集合定期更新 因为我没有保留数组的
  • 使用 javascript 从亚马逊 URL 中抓取 ASIN

    假设我有一个像这样的亚马逊产品 URL http www amazon com Kindle Wireless Reading Display Generation dp B0015T963C ref amb link 86123711 2
  • 文件和目录条目 API 在 Chrome 中损坏?

    我正在尝试使用文件和目录条目 API 创建一个文件上传器工具 该工具允许我将文件和目录的任意组合放入浏览器窗口中 以供读取和上传 我完全意识到 可以通过使用文件输入元素来实现类似的功能webkitdirectory已启用 但我正在测试一个用

随机推荐

  • 我无法执行需要使用 axios 设置标头的请求

    我正在尝试从外部 API 来自 Mashape 获取一些数据 这些数据需要特定的标头来设置 API 密钥 使用 jQuery 一切正常 ajax url https omgvamp hearthstone v1 p mashape com
  • GridView 行外边距

    我找不到向 GridView 行添加外边距的方法 我找到了setHorizontalSpacing and setVerticalSpacing在 GridView 行之间添加内部填充的属性 但它不适用于行的外边框 我希望得到 Google
  • 从 Visual Basic 发送电子邮件

    我正在开发一个项目 该项目的一部分是将电子邮件发送到位于 SQL 中的电子邮件地址列表 我正在使用以下代码 发送时只会抛出 发送失败 错误 没有其他的 谁能帮我解决这个问题吗 我真的很感激 Connect to SQL Server dat
  • Dagger 2模块依赖关系图:绑定多次

    我是 Dagger 2 的新手 试图将一个 相当 复杂的应用程序移植到它 我们对 通用 库有几个依赖项 与其他项目共享 这些 通用 库有时依赖于其他 通用 库 每个库公开一个模块 一个例子 Module public class JsonM
  • 下标需要接口“NSArray”的大小,这在非稳定 ABI 中不是恒定的

    我正在尝试使用 ASIHTTPRequest 将信息发送到服务器 并设置如下的发布值 for int i 0 i lt 13 i request setPostValue propertyValues i forKey propertyKe
  • 存储 Sprite Kit 级别数据

    我正在开发一个项目 其中屏幕上会出现一组目标 目标应该同时出现一定数量 并且每次出现之间有一定的延迟 我的问题是如何正确存储该游戏的关卡数据 我正在考虑使用 csv 文件来存储关卡数据 目标类型 位置 延迟等 但我想知道是否有更好的方法来做
  • 从 Joomla 1.5.26 升级/迁移到 Joomla 3.0.1

    我有一个 joomla 1 5 26 网站 想要升级到 Joomla 3 0 1 那可能吗 如果可以 步骤是什么 我正在寻找像 JUpgrade 这样的安装程序来执行此操作 我意识到这是一个两步过程 A 从 Joomla 1 5 26 迁移
  • 在ios中缓存视频

    我有以下方法在 AVMediaPlayerController 上播放视频 void sendRequestForVideo NSString VideoStr http www ebookfrenzy com ios book movie
  • 我可以在哪里存储(和管理)应用程序许可证信息? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在开发一个 Windows 应用程序 这需要用户注册才能使用它 现在 我将许可证信息作为文件存储在 APpData 中 但删除该文
  • 我可以在运行 PHP 的 64 位系统上将 PHP_INT_SIZE 定义为 4 个字节吗?

    我正在使用 PHP 5 3 在我的 32 位系统上 INT 的大小 print PHP INT MAX PHP INT MAX n print PHP INT SIZE PHP INT SIZE bytes PHP INT SIZE 8 b
  • Google应用程序脚本仅在运行完成后更新文档的更改。我可以强制刷新之前吗?

    我想替换谷歌文档中的一段文本 然后将其转换为PDF 问题是 文档仅在脚本结束后更新更改 因此 当我运行以下代码时 PDF 尚未完成更改 有没有办法在脚本运行时强制它更新 var doc open DocumentApp openById f
  • Java Web 应用程序应该在哪里存储其数据?

    我的 Java Web 应用程序 myapp war 通过将其放入webappsUbuntu 10 04 上 Tomcat 的目录 该应用程序需要将一些数据保存在文件中 但是运行 Tomcat 的用户 tomcat6 对主目录没有写权限 u
  • 如何在 Dockerfile 中启动另一个 bash

    我想按照本教程在容器 CentOS 6 9 中将 GCC 从 4 4 7 更新到 4 7 2如何在 CentOS 上升级 GCC http ask xmodulo com upgrade gcc centos html 在教程的最后 作者使
  • 透明圆圈黑色

    我正在尝试用 Alpha 制作透明圆圈和黑色周围的所有内容 我正在使用这段代码 但不知何故它不起作用 Gdx gl glEnable GL20 GL BLEND Gdx gl glBlendFunc GL20 GL DST COLOR GL
  • 里氏替换原理的例子是什么?

    我听说里氏替换原则 LSP 是面向对象设计的基本原则 它是什么 它的使用示例有哪些 说明 LSP 的一个很好的例子 由鲍勃叔叔在我最近听到的播客中给出 是有时在自然语言中听起来正确的东西在代码中却不太有效 在数学中 一个Square is
  • rbind 列表列表中的数据帧

    我有一个列表 如下所示 x state year 其中的每个元素都是一个数据框 单独访问它们不是问题 但是 我想跨多个列表重新绑定数据帧 更具体地说 我希望输出尽可能多的数据帧 即每年 rbind 所有状态数据帧 换句话说 我想将所有状态数
  • 将 KeyDown 键转换为一个字符串 C#

    我有磁卡读卡器 当用户刷卡时它会模拟键盘输入 当我的 WPF 窗口处于聚焦状态时 我需要处理键盘输入一个字符串的情况 我可以获得这个键入的键列表 但我不知道如何将它们转换为一个字符串 private void Window KeyDown
  • 在土耳其语文本中大写嵌入的英语单词的预期结果是什么?

    我知道土耳其语 I 的问题 其中 i 的大写在土耳其语和英语中是不同的 但是 土耳其语通常在土耳其语文本中嵌入外来单词 例如英文名称 吗 例如 假设有人将文本 Microsoft Windows 嵌入到其他土耳其文本中 我想将文本大写 英语
  • 类不是类模板

    我收到错误 类不是类模板 知道为什么吗 template
  • 如何使用 Puppeteer 从 XHR 请求获取正文/json 响应[重复]

    这个问题在这里已经有答案了 我想从使用 Puppeteer 抓取的网站获取 JSON 数据 但我不知道如何取回请求正文 这是我尝试过的 const puppeteer require puppeteer const results asyn