2017-02-13 131 views
0

試圖找出下面提到的html代碼元素的xpath。其中包含'i'標記的span元素的Xpath標識符

XPath的工作原理與

//span[@title='Open'] 

但不能與

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

試圖找出與跨度和文字的XPath。怎麼可以這樣做

<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 [contains(。''Open')]'或'// span [normalize-space(text())='Open')]' –

回答

0

此XPath,

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

會選擇那些span元件,其標準化的字符串值是"Open",將排除父span元素,比如一個與class="m-t-5"你的榜樣。

0

如果你需要一個「i」標籤XPathspan元素裏面您可以嘗試:

//span[i] 

如果您需要更具體的XPathspan元素有一個「i」標記內它包含文本「打開」

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

'/span [normalize-space(text())=「打開」]'這個工作。刪除了i –

相關問題