2017-02-13 7 views
0

下記のHTMLコードの要素のxpathを調べようとしています。'i'タグが内部にあるスパン要素のXpath識別子

XPathがスパンとテキストとXPathを見つけるためにしようと

//span[text()='Open'] 

//span[@title='Open'] 

しかしないで動作します。これは私のテストケースで

<span class="m-t-5"> 
 
<span class="label statusopen" title="Open" onclick="javascript:toggleHistoryTab(this,'tw_831158485664530432','2302','SOLR','-1','s360-379359269');" style="cursor: pointer; text-decoration: none;"> 
 
<i class="fa fa-envelope-open-o"/> 
 
Open 
 
</span> 
 
</span>
を行うことができるどのように、より適切なものは、テキスト「開く」を見つけることです。

+0

あなたは '//スパン、以下のXPath式のいずれかを試すことができます[含まれています(TEXを'' Open ')] '/ span {(。、' Open ')]'/span {normalize-space(text()} =' Open ')] ' –

答えて

0

このXPathの、

//span[normalize-space()='Open'][not(.//span)] 

は、その正規化された文字列値が"Open"で、class="m-t-5"であなたの例では、1つのように親spanの要素を除外しますそれらのspan要素を選択します。それはあなたが試すことが内部で使用すると、「I」タグでXPathためspan要素が必要な場合

0

//span[i] 

あなたは内部の「I」のタグでさらにXPath特定span要素のために必要がある場合それはテキストの "開く"含ま

//span[i[normalize-space(text())="Open"]] 
+0

'/'/span [normalize-space(text())= "Open"] 'これは動作します。私を削除 –

関連する問題