Просто используйте :
//td[contains(normalize-space(.),'Constant')]/@class
Обратите внимание , что вышеприведенное выражение может выбрать более одного узла.
Чтобы выбрать только N-й узел из этих , используйте выражение XPath такого типа (для N = 1):
(//td[contains(normalize-space(.),'Constant')]/@class)[1]
Еслини один из них не выбирает ни одного узла, причина может быть :
//td[contains(normalize-space(.),'Constant')]
не выбирает ни одного узла, поскольку нет td
, строковое значение которого содержит строку 'Constant'
.Вы уверены, что используете точную прописную букву?XPath чувствителен к регистру и 'constant'
не равен 'Constant'
.
//td[contains(normalize-space(.),'Constant')]
не выбирает ни одного узла, поскольку существует пространство имен по умолчанию.В этом случае вам нужно зарегистрировать пространство имен и использовать его префикс в выражении XPath (есть много вопросов и ответов по этому поводу - прочитайте их): //x:td[contains(normalize-space(.),'Constant')]