XPath:如何通过索引选择具有某些属性的节点?

Hon*_*ong 22 xpath

我有几个具有某些特定属性的节点,我需要通过索引选择其中一个.例如,我需要在<div>'test'类中选择第二个- //div[@class='test'][2]不起作用.

有没有办法通过索引选择具有某些属性的节点?怎么做?

Dim*_*hev 54

这是一个FAQ.

在XPath中,[]运算符具有比//伪运算符更高的优先级(绑定更强).

因此,表达式:

//div[@class='test'][2]
Run Code Online (Sandbox Code Playgroud)

选择属性为"test"的所有div元素class以及who(div元素)是div其父元素的第二个子元素.这不是你想要的.

用途:

(//div[@class='test'])[2]
Run Code Online (Sandbox Code Playgroud)