Nokogiri 下一个元素(按类型)

Nokogiri next element by type

提问人:Bad Hombre 提问时间:8/31/2022 更新时间:9/1/2022 访问量:71

问:

说我有

<h3></h3>
<h2></h2>
<p></p>

如何从以下位置访问节点ph3

现在我只能从中获取不接受任何参数并返回标签。doc.css('h3').next_elementh2

有没有办法递归检查节点类型,或者有没有一种方法可以调用例如doc.css('h3').next('p')

P.S:当然,我正在解析的 HTML 并不像上面的例子那么简单。

ruby-on-rails ruby html-parsing nokogiri

评论


答:

1赞 mechnicov 9/1/2022 #1

如果你只需要一个元素(不是集合),则有方法at

您需要带有通用同级运算器的选择器 ~

doc.at('h3 ~ p')

如果您需要在每个标签之后的此类集合ph3

doc.css('h3 ~ p')