XPath, чтобы выбрать элемент с подстановочным знаком класса? - PullRequest
0 голосов
/ 02 мая 2018

Есть ли возможный XPath для выбора элемента с использованием подстановочного знака? Например, я попытался //img[@class='poly *'] выбрать эти img элементы,

<img class="poly x1" title="title1"> 
<img class="poly x2" title="title2"> 
<img class="poly x3" title="title3"> 

но это не сработало.

1 Ответ

0 голосов
/ 02 мая 2018

* не является подстановочным знаком в XPath, поэтому

//img[@class='poly *']

будет соответствовать всем img элементам со значениями атрибута class, точно равными poly * & ndash; буквально заканчивается символом *.

Вместо этого вы можете использовать

//img[starts-with(@class,'poly')]

или более надежная идиома, позволяющая poly появляться где угодно в значении атрибута class, без совпадения polymorphism et. и др. по ошибке:

//img[contains(concat(' ',@class,' '), ' poly ')]

Примечание: XPath 2.0 имеет функцию matches(), которая поддерживает регулярные выражения.

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