8

" Nokogiri: How to select nodes by matching text? " は 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 に答える