2017-06-14 98 views
1

我需要檢索沒有給定文本的孩子的div。我有此HTMLXpath找到一個沒有特定文本的孩子的div

<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>



UPDATE。現在我知道我可以索引。

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

<div>ID: 2</div>

如果我不知道索引該怎麼辦。

返回

回答

1

一種方式來獲得所需要的div是使用starts-with()功能:

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

boolean starts-with(string, string) - 返回true如果第一個參數開始以第二個參數字符串;否則返回false


限制搜索到有沒有孩子div元素你可以使用count(*)功能:

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

是的,它的作品! 'xpath =(// div [starts-with(。,'ID')])'。 如果我想要一個沒有孩子的div,該怎麼辦? –

+0

@YanKhonski,嘗試'[not(./*)]'predicate – Andersson

+0

@YanKhonski,看我的更新 – RomanPerekhrest

相關問題