0

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;"

XPATHの 2 番目のb要素にアクセスすると、返されるすべての Nokogirib要素の 2 番目の要素にアクセスして異なる結果が返されるのとは異なる結果が得られるのはなぜですか?

4

1 に答える 1

3

search("b[2]")親要素からb2 番目の要素を意味します。bこれは NodeSet になり、複数の要素を持つ場合があります。

search("b")[1]b見つけた秒を意味します。Node または nil のいずれかになります。

于 2012-07-28T01:22:46.300 に答える