Nokogiri
のCSSセレクタは各ブラウザで実装されてるのよりも高機能らしくhas
が使えます。
例えば
foo.html
<table>
<tr><th>HEAD</th></tr>
<tr><td>BODY</td></tr>
</table>
みたいな構造のとき、ヘッダー以外のテーブルデータ部分が欲しくて
doc = Nokogiri::HTML(url.read)
doc.css('table tr')[1..-1]
なんて書き方をしてたんですが、
doc = Nokogiri::HTML(url.read)
doc.css('table tr:has(td)')
のように何をしてるか明示的に書けるんです。素敵!
おまけ
Selectors Level 4 で提案されてるので将来的にはブラウザでも使えるようなるみたいですね。