2017-06-14 3 views
1

指定されたテキストを持つ子なしでdivを取得する必要があります。私はこのhtmlを持っていますXpathは特定のテキストの子なしの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>

インデックスがわからない場合はどうなりますか?必要なdivを取得する

答えて

1

一つの方法は、starts-with()機能を使用することで戻ります

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

boolean starts-with(string, string)は - 第二引数で最初の引数文字列開始場合trueを返し文字列;はい、それが動作

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

:そうあなたがcount(*)機能を使用することができfalse


に子がないdiv要素に検索を制限するには返します! 'xpath =(// div [starts-with(。、 'ID')])'です。 子供なしのdivが必要な場合はどうすればいいですか? –

+0

@YanKhonski、試してみてください。[NOT(./*)]述語 – Andersson

+0

@ヤンキンスキー、更新情報 – RomanPerekhrest

関連する問題