需要一个xpath:其中父有多个子,但我只需要父值

时间:2015-06-22 05:10:21

标签: xpath

在下面的代码中:父“div”有三个子“span”,“script”和“span”。但我要求父“div”的值为“N / A”。 “N / A”不属于div的任何属性。它只是父“div”的值。

{{1}}

1 个答案:

答案 0 :(得分:1)

要获取父元素,可以在子元素xpath之后使用双点..。 要获取元素的 text ,您可以使用xpath text()函数,但根据您使用的任何环境和代码中的xpath实现,它可能不可用。请注意,元素的文本将返回此元素的实际文本节点以及子元素的所有文本节点。

对于您的情况,如果您使用 ah-float-left 类搜索 span 的父级,则xpath应如下所示:

//span[@class='ah-float-left']/..

要获取父母的文字,您需要关注:

//span[@class='ah-float-left']/../text()

注意:按类名查找元素可能会返回一个元素集合,这些元素又会返回父元素集合和父节点文本集合,这可能是不合需要的。我建议按id查找子元素,因为xhtml规定元素ID是唯一的。因此,父div的xpath应如下所示:

//span[@id='_dcmanageinvestmentsportlet_WAR_ahdcmnginvportlet__FDROR_110hidden']/..