选择纯文本时出现 Cheerio 不匹配的选择器错误



我正在使用cheerio的.map方法抓取网页。页面的 html 代码如下所示:

<div class="foo">
<h1>Lorem</h1>
<p>Lorem ipsum dolor sit amet.</p>
TEXT WITHOUT TAG
<p>Lorem ipsum dolor sit amet.</p>
</div>

这是我的工作:

let $ = cheerio.load(body);
let contentHtml = $('foo').html();
$(contentHtml).map((index, element) => {
console.log(element);
});

当 .map 看到"没有标签的文本"时,它会抛出如下错误:

Unmatched selector: ...

这是意料之中的,因为它没有任何选择器。我想用<p>标签包装纯文本,但我不知道怎么做。

你的元素有类foo,选择器没有:

let contentHtml = $('.foo').html();

最新更新