Использование CSS неудобно. Учтите это:
require 'nokogiri'
doc = Nokogiri::HTML(<<EOT)
<html>
<body>
<div id="result-stats">foo</div>
</body>
</html>
EOT
doc.at_css('[id="result-stats"]').text # => "foo"
doc.at('#result-stats').text # => "foo"
CSS использует #
для id
, поэтому '[id="result-stats"]'
неоправданно многословен.
Нокогири достаточно умен, чтобы знать, когда использовать CSS, когда смотрит на селектор; За многие годы его использования я обманул его только один раз и был вынужден использовать спецификации CSS / XPath c версий обобщенных c search
или at
методов. Используя методы c, вы можете изменить селектор между CSS и XPath, не заботясь о вызываемом методе. " Использование 'at', 'search' и их братьев и сестер " говорит об этом.
Кроме того, просто ради интереса, у Nokogiri должны быть все jQuery расширения для CSS как это были дорожные карты v2.0 для Nokogiri .