javascript - 为什么cheerio.load() 函数不能正常工作
问题描述
const cheerio = require('cheerio');
const HTML = `<tbody>
<tr>
<th>
Team Name
</th>
<th>
Year
</th>
<th>
Wins
</th>
<th>
Losses
</th>
</tr>
</tbody>
`;
const $ = cheerio.load(HTML);
const text = $('tr').text();
console.log(text);
在这里,我没有收到文字。为什么??HTML 字符串中是否有任何错误?我无法确定问题所在。请帮忙!!!
解决方案
一个<tbody>
元素必须是一个元素的子<table>
元素,而你的不是。
在当前版本的 Cheerio 中,解析器无法从该错误中恢复。编写有效的 HTML。(将您的字符串包裹起来<table>
就</table>
足够了)。
(如果您降级到 Cheerio 0.22.0,那么那里的解析器可以处理它,但修复输入比使用过时的库更可取)。
推荐阅读
- javascript - 从函数内的 forEach 内的 if 语句返回
- php - 如果遇到空值,php 是否有办法停止调用链?
- azure-cosmosdb - 如何使用嵌套分隔符拆分为子文档?
- macos - VLC:如何创建正版 MP4(不是 M4V)文件?
- html - 图像在 Firefox 中看起来不太好,因为它在 chrome 中看起来
- pandas - 基于多条件 pandas 的 Groupby 聚合
- mysql - 使用 GROUP_CONCAT 时如何从另一个表中输出列
- android - android - 以编程方式设置键盘语言输入
- javascript - 如何访问数组内的嵌套对象来验证它?
- c# - OnAuthorizationAsync 中的 Cancellationtoken