Если вы посмотрите на возврат от doc.css(".title")
, вы увидите, что это коллекция всех названий. Как Nokogiri::XML::Element
Объекты
Насколько мне известно, CSS не имеет селектора для нацеливания на первый элемент данного класса. (Кто-то может меня поправить, если я ошибаюсь), но получить только первый элемент из Nokogiri::XML::NodeSet
все еще очень просто, поскольку во многих случаях он действует как Array
. Например:
doc.css(".title")[0].text
Вы также можете использовать xpath для выбора только первого (поскольку XPath поддерживает выбор на основе индекса), например так:
doc.xpath(doc.xpath("(//h3[@class='title'])[1]").text
Обратите внимание:
- Индексы Ruby начинаются с 0, как в первом примере;
- Индексы XPath начинаются с 1, как во втором примере.