2017-10-17 58 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>