0

我需要从中获取文本 <option value="......" >.......,但第一个选项标签除外。

我的代码是:

"xPath":"descendant::div[contains(@class,'produit__select')]/descendant::select[@name='select0']/descendant::option[@disabled='disabled']/value"

我无法得到结果。有人可以帮我吗?

<div class="produit__select">
 <label for="select0">Parfum</label>
 <select name="select0" id="select0">
   <option disabled="disabled">Faites un choix</option>  
   <option value="835">Pommes de Nouvelle Aquitaine</option> 
   <option value="842">Pommes Nectarines Bananes</option>
   <option value="838">Pommes Pruneaux</option>
   <option value="839" selected="selected">Pommes Fraises</option>
   <option value="841">Pommes Cassis</option>
   <option value="840">Pommes Bananes Kiwi</option>
   <option value="836">Pommes Poires</option>
   <option value="837">Pommes Coings</option> 
 </select>
</div>
4

2 回答 2

2

您可以使用//而不是descendant::. 此外,没有名为value. 如果您对文本感兴趣,请使用该text()功能,如果您想跳过第一个孩子,请确保position()孩子的 大于 1。

//div[contains(@class,'produit__select')]
/select[@name='select0']
/option[position()>1]/text()
于 2019-07-01T15:24:13.993 回答
1

这是跳过禁用选项的另一种选择。

//div[@class='produit__select']/select[@name='select0']/option[not(contains(@disabled,'disabled'))]/text()

演示:

在此处输入图像描述

于 2019-07-01T18:17:06.307 回答