2017-10-17 62 views
0

我想檢索網頁中存在的每個組合框的最大值,其中xpath使用Xpath檢索頁面中所有選擇的最大值

下面是一個包含多種組合框與選擇的樣本HTML:

<label> <span class="invisible_spoken">Some choice</span> 
<select class="select_class"> 
<option value="0">0</option> 
<option value="1" > 
1 
</option> 
<option value="2" > 
2 
</option> 
</select> 
</label> 
<label> <span class="invisible_spoken">Some choice</span> 
<select class="select_class"> 
<option value="0">0</option> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
</select> 
</label> 
<label> <span class="invisible_spoken">Some choice</span> 
<select class="select_class"> 
<option value="0">0</option> 
<option value="1">1</option> 
</select> 
</label 

我想檢索是每個組合框的最大值,採樣輸出:

2, 3, 1 

我已經嘗試過如下表達式:

//table[@id="rooms"]//select[contains(@class, "b_selectbox")]/option[not(//table[@id="rooms"]//select[contains(@class, "b_selectbox")]/option/@value > @value)]/@value 

但是它只返回最大組合值的組合框的最大值,在示例情況下最高爲3的情況下,如果有兩個組合框的最大值等於3,則它將返回那些2 ...

回答

2

具有最高值的選項的Xpath選擇器。

//label/select[@class="select_class123"]/option[not(../option/@value > @value)] 
o/p: Option elements with highest values. 

(//label/select[@class="select_class"]/option[not(../option/@value > @value)])/@value 
o/p: 2, 3, 1 

測試XML XPath online

<select class="select_class"> 
    <option value="0">0</option> 
    <option value="1">1</option> 
    <option value="2">2</option> 
</select> 

<select class="select_class"> 
    <option value="0">0</option> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
</select> 

<select class="select_class"> 
    <option value="0">0</option> 
    <option value="1">1</option> 
</select>