我在 Ruby 上使用 Mechanize,并在我的 Ruby 控制台中注意到以下内容:
1.9.3p194 :188 > testpage = Mechanize.new.get "http://www.sis.umd.edu/bin/soc?term=201208&crs=AGNR"
...
1.9.3p194 :184 > testpage.search("font[@face='arial,helvetica']").last.search("b[2]").text
=> ""
1.9.3p194 :185 > testpage.search("font[@face='arial,helvetica']").last.search("b")[1].text
=> "Special Problems:\nSpecial Problems;"
为什么访问第二个
b
XPATH 中的元素给出的结果与访问所有 Nokogiri b
的第二个元素不同元素返回给出不同的结果?
最佳答案
search("b[2]")
表示任何 b
那是第二个 b
相对于其
父元素。它将是一个 NodeSet,它可能有多个元素。search("b")[1]
表示第二个 b
它发现。它将是一个节点或零。
关于ruby - XPATH 索引不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11695729/