*
не является подстановочным знаком в 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()
, которая поддерживает регулярные выражения.