22

我有下面的 xpath 表达式

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

它在 html 页面上运行,扫描图像。上面的查询返回了很多图像,但我只想要列表中的第二个。

我试过这些没有运气:

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

2 回答 2

52

在 XPath 中索引从 1 位置开始,因此

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

如果您必须imgdiv[@class="post-content"]. 如果您必须img从 中的所有图像中仅选择第二个div[@class="post-content"],请使用:

(//div[@class="post-content"]//img)[2]
于 2012-04-05T08:37:05.387 回答
13

XPath 中的索引是从 1 开始的,而不是从 0 开始的。尝试

(//div[@class="post-content"]//img)[position()=2]
于 2012-04-05T08:37:16.393 回答