Как выбрать значение атрибута конкретного тега с помощью xPath? - PullRequest
0 голосов
/ 01 июля 2019

Мне нужно получить текст, <option value="......" >......., но кроме первого тега option.

Мой код:

"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>

Ответы [ 2 ]

2 голосов
/ 01 июля 2019

Вы можете использовать // вместо descendant::.Также нет элемента с именем value.Если вас интересует текст, используйте функцию text(), если вы хотите пропустить первого дочернего элемента, убедитесь, что position() дочернего элемента больше 1.

//div[contains(@class,'produit__select')]
/select[@name='select0']
/option[position()>1]/text()
1 голос
/ 01 июля 2019

Это еще один вариант пропустить отключенный.

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

DEMO:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...