web-dev-qa-db-ja.com

xpathインデックスによる要素の取得

以下のxpath式があります

//div[@class="post-content"]//img

hTMLページで実行され、画像をスキャンします。上記のクエリは多くの画像を返しますが、リストの2番目のみが必要です。

私が試してみました

//div[@class="post-content"]//img[1] and
//div[@class="post-content"]//img[position()=1]

運が悪い

どうすればできますか?

ありがとう

17
Thomas

XPathでは、インデックスは1つの位置から始まるため、

//div[@class="post-content"]//img[2]

div[@class="post-content"]で2番目のimgをそれぞれ選択する必要がある場合は、正しく動作するはずです。 div[@class="post-content"]にあるすべての画像から2番目のimgのみを選択する必要がある場合は、次を使用します。

(//div[@class="post-content"]//img)[2]
41

xPathのインデックスは0ベースではなく1ベースです。試す

(//div[@class="post-content"]//img)[position()=2]
10
Colin Pickard