Node.js 使用两个

Node.js 使用两个,node.js,cheerio,Node.js,Cheerio,元素解析,仅使用包含文本“A:”的元素抓取 以下是我正在使用的source部分: <div class="entry-content"> <div class="at-above-post-cat-page addthis_tool" data-url="https://www.factcheck.org/2018/03/meme-falsely-claims-exposed-snopes-com/"></div> <p><spa

元素解析
,仅使用包含文本“A:”的元素抓取 以下是我正在使用的source部分:

<div class="entry-content">

  <div class="at-above-post-cat-page addthis_tool" data-url="https://www.factcheck.org/2018/03/meme-falsely-claims-exposed-snopes-com/"></div>

  <p><span><span>Q:</span> </span>Did FactCheck.org expose Snopes.com as an “extremely liberal propaganda site”?</p>

  //grab this <p> element always containing <span>A:</span>: 
  <p><span><span>A:</span> </span>No. That false claim was made in a meme circulating online.<!-- AddThis Advanced Settings above via filter on get_the_excerpt --><!-- AddThis Advanced Settings below via filter on get_the_excerpt --><!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons above via filter on get_the_excerpt --><!-- AddThis Share Buttons below via filter on get_the_excerpt --></p>

  <div class="at-below-post-cat-page addthis_tool" data-url="https://www.factcheck.org/2018/03/meme-falsely-claims-exposed-snopes-com/"></div>

  <p><!-- AddThis Share Buttons generic via filter on get_the_excerpt --></p>   

</div>
我从两个元素中获取文本

当我这样做时:

let rating = $(meta).children('div.entry-content').children('p').text().trim();
let rating = $(meta).children('div.entry-content').children('p').next().text().trim();
或者这个:

let rating = $(meta).children('div.entry-content').children('p').eq(1).text().trim();
我得到一个空字符串

您可以通过以下方式得到第二个p子项:

$("p:nth-of-type(2)")
或者是专门有A:with:

$("p:has(span:has(span:contains(A:)))")

或者你可以像CSM一样在CSS外面乱搞,建议

这是在没有内容中的JavaScript注释的Calayo中工作的:$meta。如果你愿意提交答案,我很乐意接受