Xpath找到没有具有特定文本的子项的div

时间:2017-06-14 09:52:49

标签: xpath html-parsing

我需要检索没有给定文本的子项的div。我有这个HTML

<h1>Rest Object</h1>
<div style="background-color: transparent;">
    <div>Title: Rest object</div>
    <div>ID: 2</div>
    <div>Title: Rest object Copy</div>
    <div>Full text: This is the full text. ID: 2</div>
    <div>Value: 0.564</div>
    <div>Timestamp: 2017-06-14 11:35:40</div>
</div>

我想找<div>ID: 2</div>。怎么样?我试过了

xpath=(//div)

并返回第一个div。我试着用

xpath=(//div[not(div)])

然后它返回 <div>Title: Rest object</div>



更新即可。现在我知道我可以索引。

 xpath=(//div[not(div)][2])

<div>ID: 2</div>

如果我不知道索引怎么办。

返回

1 个答案:

答案 0 :(得分:2)

获得所需div的一种方法是使用starts-with()函数:

//div[starts-with(.,'ID:')]    

boolean starts-with(string, string) - 如果第一个参数 string 以第二个参数 string 开头,则返回true;否则返回false

要将搜索范围限制为没有子级的div元素,您可以使用count(*)函数:

//div[starts-with(.,'ID:')][count(*)=0]