Как получить текст параметров выбора формы и значения? - PullRequest
2 голосов
/ 25 января 2012

Я пытаюсь использовать Nokogiri для очистки select элементов формы.

Например:

<select id="colors" name="colors">
  <option class="" value="1">Blue</option>
  <option class="" value="2">Green</option>
</select>

Я бы хотел 1 => 'Blue', 2 => 'Green' и т. Д.

Я пытался использовать at_css и xpath, но безуспешно.

Я догадался, что это будет правильный путь:

doc.at_css("#colors option").each do |d|
  puts d
end

, который просто даетя один:

value

Я могу получить каждый option текст на странице, используя xpath.

1 Ответ

5 голосов
/ 25 января 2012
doc.css("#colors option").each do |d|
  puts d.attr("value")
  puts d.text
end

или как объект:

doc.css("#colors option").each_with_object({}) do |e,o| 
  o[e.attr("value")] = e.text
end
...