如何使用 Nokogiri CSS 选择器获取标签内的所有文本?

How do I get all the text within a tag using a Nokogiri CSS selector?

我正在尝试使用 Nokogiri 从 HTML 页面中提取文本。我正在使用 CSS 选择器来提取文本。

我知道 text 方法用于提取特定标签内的文本,但它只提供标签的直接子文本。

如何获取标签中的所有文本,包括嵌套在所述标签中的任何标签内的文本?

<td>
<div>
some text
</div>
<div>
more text
</div>
</td>

如何获取 <td><td> 标签中的所有文本,因为 text 不会 return 任何东西,而且事先不知道有多少标签将在 <td>.

里面

看起来您可以简单地调用目标元素的 #text 方法,它将包含所有子文本节点:

doc = Nokogiri::HTML(your_html_snippet)
str = doc.css('td').text
str # => "\n\nsome text\n\n\nmore text\n\n"

您可以使用

str = doc.css('td').content

这将为您提供所有嵌套级别的所有文本