Node.js CheerioJS变得具体<;李>;其中标题文本';我想要什么';
我正在尝试获取标题为“我想要什么”的li元素 这是我的代码:Node.js CheerioJS变得具体<;李>;其中标题文本';我想要什么';,node.js,cheerio,scrape,Node.js,Cheerio,Scrape,我正在尝试获取标题为“我想要什么”的li元素 这是我的代码: let wants = [] $$('li').each((wantIdx, wantElement) => { const want= $(relatedArticleElement).text() wants.push(want) }) 这就是我试图解析的HTML: <div
let wants = []
$$('li').each((wantIdx, wantElement) => {
const want= $(relatedArticleElement).text()
wants.push(want)
})
这就是我试图解析的HTML:
<div class="side-list-panel">
<h4 class="panel-header">What I Want</h4>
<ul class="panel-items-list">
<li>
1
</li>
<li>
2
</li>
<li>
3
</li>
<li>
4
</li>
<li>
5
</li>
</ul>
</div>
<div class="side-list-panel">
<h4 class="panel-header">What I don't want</h4>
<ul class="panel-items-list">
<li>
a
</li>
<li>
b
</li>
<li>
c
</li>
<li>
d
</li>
<li>
e
</li>
</ul>
</div>
我想要什么
-
1.
-
2.
-
3.
-
4.
-
5.
我不想要什么
-
A.
-
B
-
C
-
D
-
E
这段代码为我获取了页面中的每个li元素。显然,有没有办法只获取“我想要什么”面板标题下的lis?如果Cheerio支持,您可以尝试JQuery的contains示例$('td:contains(“male”))您可以通过以下方式获取这些元素:
$('h4:contains("What I Want") + ul li').get().map(li => $(li).text())
你没有任何类来区分一个面板标题和另一个面板标题吗?没有,我没有。我唯一的标识符是面板标题中的文本。如果Cheerio支持,你可以试试JQuery的
contains
。$('td:contains(“male”))
如果你在其中包括你迄今为止尝试过的内容以及你做过的研究,它将帮助我们回答你的问题。@DylanLandry我用.eq()对它进行了硬编码,效果很好。。但我只是想知道还有别的方法吗?