【问题标题】:How to get text data from <p><strong>Some text</strong></p>如何从 <p><strong>Some text</strong></p> 中获取文本数据
【发布时间】:2019-07-12 02:31:40
【问题描述】:

我想从 &lt;p&gt;&lt;strong&gt;Some text&lt;/strong&gt;&lt;/p&gt; 中提取文本并在 Node.JS 中使用 Cheerio。

我有以下代码:$('p &gt; strong').text() 但它没有输出任何东西。

console.log($('p &gt; strong').text());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p><strong>Some text</strong></p>

【问题讨论】:

标签: jquery node.js cheerio


【解决方案1】:

您的代码看起来不错(并且工作正常)。看到这个:https://jsfiddle.net/mswilson4040/2m3c1kpn/

这里可能有一些特定于 Cheerio 的东西,根据提供的代码很难确定。我们需要更多上下文

当您运行代码时,您是否收到任何错误消息?很可能,您的 javascript 是在 dom 加载之前执行的,或者您在加载之后的元素之前引用了您的 javascript 文件。

对于基本的故障排除步骤,请尝试执行以下代码:

console.log($('p &gt; strong'))

如果您的 jquery 调用甚至获取元素,这应该会让您知道。如果不是,那就是问题所在。

【讨论】:

  • 在无头浏览器中使用cheerio和jQuery混淆OP
  • 我使用它从 API 调用中提取数据,并在继续提取数据之前使用 async 和 await。也许 Cheerio 有一些不同?
  • 可能有。您可以发布更多代码以便我获得更多上下文吗?我会更新我的答案
【解决方案2】:

我想我可以通过以下方式让它按我的意愿工作:

$('strong', 'p').text()

感谢大家的帮助!

【讨论】:

    猜你喜欢
    • 2012-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-29
    • 2013-09-15
    相关资源
    最近更新 更多