【发布时间】:2013-10-30 09:31:20
【问题描述】:
我正在尝试使用 XPath 快速查找特定节点,但我的多个谓词似乎不起作用。我需要的 div 有一个特定的类,但还有 3 个其他类。我想选择第四个,所以我做了以下:
//div[@class='myCLass' and 4]
但是“4”被忽略了。有什么帮助吗?我是 XPath 新手。
谢谢。
【问题讨论】:
标签: xpath
我正在尝试使用 XPath 快速查找特定节点,但我的多个谓词似乎不起作用。我需要的 div 有一个特定的类,但还有 3 个其他类。我想选择第四个,所以我做了以下:
//div[@class='myCLass' and 4]
但是“4”被忽略了。有什么帮助吗?我是 XPath 新手。
谢谢。
【问题讨论】:
标签: xpath
只有当所有 div 元素具有相同的父元素时,接受的答案才能正确工作。否则使用:
(//div[@class='myCLass'])[4]
【讨论】:
/descendant::div[@class eq 'myClass'][4]。
如果 xpath 查询返回一个节点集,您始终可以使用 [OFFSET] 运算符来访问它的某个元素。
使用以下查询访问与@class='myClass' 谓词匹配的第四个元素:
//div[@class='myCLass'][4]
@WilliamNarmontas 的答案可能是上述语法的替代方案。
【讨论】:
或者,
//div[@class='myCLass' and position()=4]
【讨论】: