2010-02-27 77 views
1

如何根據選擇標記的內容獲取選擇標記的「值」屬性的內容(即文本包裹通過選項),使用Nokogiri?如何根據選擇標記的內容獲取選擇標記的「值」,使用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

試試這個:

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 
+0

完美 - 謝謝! – Sai 2010-02-27 05:11:33