" Nokogiri: How to select nodes by matching text? " は XPath 経由でこれを行うことができますが、要素のテキストに一致する CSS 選択を使用する方法を探しています。
PyQuery と PHPQuery はこれを行うことができます。Ruby 用の jQuery API ライブラリはありませんか?
" Nokogiri: How to select nodes by matching text? " は XPath 経由でこれを行うことができますが、要素のテキストに一致する CSS 選択を使用する方法を探しています。
PyQuery と PHPQuery はこれを行うことができます。Ruby 用の jQuery API ライブラリはありませんか?
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"
純粋な 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/}