Как получить 'значение' тега select на основе содержимого тега select, используя Nokogiri - PullRequest
1 голос
/ 27 февраля 2010

Как получить содержимое атрибута 'value' тега select, основываясь на содержимом тега select (т. Е. Текст, заключенный в опцию), используя Nokogiri?

Например, с учетом следующего HTML:

<select id="options" name="options">
  <option value="1">First Option - 4</option>
  <option value="2">Second Option - 5</option>
  <option value="3">Third Option - 6</option>
</select>

Я хотел бы иметь возможность указать строку (например, «Первый вариант») и получить возвращенное содержимое атрибута «значение» (например, «1»).

Мне удалось добиться обратного (получить содержимое тега select на основе атрибута 'value' тега select), но это не совсем то, что мне нужно сделать.

1 Ответ

1 голос
/ 27 февраля 2010

Попробуйте это:

require 'nokogiri'
require 'open-uri'

url = "abc.html"
doc = Nokogiri::HTML(open(url))
doc.xpath('//select[@id="options"]/option[contains(., "First Option")]').each do | node|
  p node['value']
end
...