Использование подстановочного знака в поиске xpath - PullRequest
0 голосов
/ 11 марта 2020

У меня есть следующий элемент на странице, для поиска которого я использую xpath;

<meta name="robots" content="noindex, follow">

Я хотел бы проверить, что часть content элемент содержит "noindex" и игнорирует "follow" часть элемента.

Ранее я использовал css чтобы протестировать подобные вещи, используя что-то вроде content * = "noindex" , но из-за этой конкретной структуры страницы я не могу использовать css.

(css) head > meta:nth-child(60)[content*="noindex"] работает (но это негибко, поскольку расположение элемента может измениться), но (xpath) //meta[@name="robots" and @content*="noindex"] нет.

Любая помощь будет принята с благодарностью.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 11 марта 2020

Используйте приведенный ниже xpath.

//meta[@name="robots"][contains(@content,"noindex")]

Если вы хотите использовать starts-with, ниже приведен синтаксис.

//meta[@name="robots"][starts-with(@content,"noindex")]
0 голосов
/ 11 марта 2020

Поскольку вы не указали конкретную версию XPath: из XPath 2.0 вы можете использовать регулярные выражения. Например,

//meta[@name="robots"][tokenize(@content, ",") = "noindex"]

Если вы хотите сделать это в браузере, вам нужно установить стороннюю библиотеку XPath, такую ​​как Saxon- JS.

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