问题标签 [cheerio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - Cheerio js 无法修改内部 HTML
我正在使用 Cheerio js 抓取一个网站,我有一个数组中的表格行列表,当我在 for 循环中使用 $.html('text') 修改内部 HTML 的内容时似乎工作但一旦函数退出我丢失了修改后的文本:
javascript - 使用 Cheerio 自动提交查询(如 JQuery)
我必须做以下事情:给定一个从服务器加载的页面,我必须在加载后自动在该页面中提交一个表单,用相同的字符串 ( test worked
) 填充其所有输入字段。这显然是对我的问题的简化,但已经足够接近了!
目前我正在获取表格,并使用https://github.com/cheeriojs/cheerio来探索它:
目前,我有以下代码:
问题:
目前,
submit
是相对于我下载的页面。我如何确保我在正确的位置提交东西?我应该执行 url.parse 并从 URL 中计算出操作的海鸥路径吗?您如何实际创建“发布”字符串?或者,更好的是,您将如何发布此表格?
我意识到这可能不起作用(表单可能有 Javascript 等)。但是,在提交此表格时,我还有什么需要注意的吗?
javascript - 如何获取最后一个数组
使用cheerio,我设法抓取了一个PHP生成的表,其中包含一列日期、位置等。由于行数是可变的,我选择使用 .map() 遍历每一行,设置匹配的起始事件日期 (startDate) 与提供的 CSS 选择器。上述过程似乎运行良好,因为当我调用 console.log(startDate) 时,我收到以下输出。但是,似乎该进程每次移动到下一行时都会创建一个数组,每次都附加一个额外的日期。如何将变量设置为仅数组 startDate 中的最后一个数组?
所以 console.log(newArray) 的期望输出将是: