8

Nokogiri:如何通过匹配文本来选择节点? ”可以通过 XPath 做到这一点,但是,我正在寻找一种使用与元素文本匹配的 CSS 选择的方法。

PyQuery 和 PHPQuery 可以做到这一点。Ruby 没有 jQuery API 库吗?

4

2 回答 2

15

Nokogiri(现在)实现了 jQuery 选择器,可以搜索节点的文本:

例如:

require 'nokogiri'

html = '
<html>
  <body>
    <p>foo</p>
    <p>bar</p>
  </body>
</html>
'

doc = Nokogiri::HTML(html)
doc.at('p:contains("bar")').text.strip
=> "bar"
于 2013-03-10T15:54:51.433 回答
3

无法使用纯 CSS 完成,您必须将其与 Ruby 代码混合使用

  doc = Nokogiri::HTML("<p>A paragraph <ul><li>Item 1</li><li>Apple</li><li>Orange</li></ul></p>")
  p doc.css('li').select{|li|li.text =~ /Apple/}
于 2009-11-24T15:47:49.560 回答