2016-08-12 99 views
0

我有一個網站,並希望選擇一些元素;這裏是我的XPATH表達式:如何用XPATH選擇第一個,第二個值?

//span[contains(.,"Arbeitsräume")] 

它返回兩個匹配項。第一場比賽可能來自這個HTML代碼片:

<span class="menu-item-text">      
    <i class="fa fa-users"></i> 
    Arbeitsräume 
</span> 

第二場比賽我不知道。不過,我想選擇第一場比賽。因此我嘗試過:

//span[contains(.,"Arbeitsräume")][1] 

這又給了兩場比賽。括號中的'0'或'2'沒有返回任何匹配。

我雖然在xpath表達式結尾的方括號可以讓你選擇第一,第二,...匹配,但我可能會誤解。

那麼如何選擇第一個,第二個...... XPATH匹配?

+0

嘗試'(// span [contains(。,「Arbeitsräume」)])[1]'確保'[1]'適用於整個表達式 –

+0

啊我明白了。似乎工作,謝謝 – Alex

+2

可能重複的[如何通過XPath選擇第一個元素?](http://stackoverflow.com/questions/38527329/how-to-select-first-element-via-xpath) – kjhughes

回答

0

嘗試

(//span[contains(.,"Arbeitsräume")])[1] 

表達//span[1]選擇第一span子含有跨距的每一個元素的。例如,給定以下文件

<doc> 
    <div> 
     <span id="1.1"/> 
     <span id="1.2"/> 
    </div> 
    <div> 
     <span id="2.1"/> 
     <span id="2.2"/> 
    </div> 
</doc> 

兩個span元素與id 1.1和2.1被選中。 (//span)[1]另一方面只返回整個文件中的第一個span元素。

相關問題