Ruby on rails 如何获得';价值';使用Nokogiri,根据选择标记的内容选择标记

Ruby on rails 如何获得';价值';使用Nokogiri,根据选择标记的内容选择标记,ruby-on-rails,ruby,dom,nokogiri,mechanize,Ruby On Rails,Ruby,Dom,Nokogiri,Mechanize,如何使用Nokogiri,根据select标记的内容(即由选项包装的文本),获取select标记的“value”属性的内容 例如,给定以下HTML: <select id="options" name="options"> <option value="1">First Option - 4</option> <option value="2">Second Option - 5</option> <option va

如何使用Nokogiri,根据select标记的内容(即由选项包装的文本),获取select标记的“value”属性的内容

例如,给定以下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>

第一种选择——4
第二种选择——5
第三种选择——6
我希望能够指定一个字符串(例如“第一个选项”),并返回“value”属性的内容(例如“1”)

我已经能够实现与此相反的效果(根据select标记的“value”属性获取select标记的内容),但这并不是我需要做的事情。

尝试以下方法:

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
试试这个:

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