Как использовать функцию подстроки XPath в инспекторе Chrome? - PullRequest
0 голосов
/ 10 ноября 2018

Как использовать функцию подстроки XPath в Инспекторе Chrome? Я не могу создать рабочий пример на вкладке Элементы инспектора.

Например, этот селектор:

//div[contains(text(),'Man')]

работает на этой странице , но

substring(//div[contains(text(),'Man')], 2)

не может ничего выбрать. Разве он не должен продолжать выделять тот же элемент, что и первый селектор?

В конечном итоге я передаю второй селектор функции JavaScript document.evaluate () , чтобы получить фрагмент строки text () . На данный момент document.evaluate () ничего не возвращает для второго селектора.

PS. Я прочитал этот вопрос и этот один, но они не упоминают об использовании инспектора Chrome.

1 Ответ

0 голосов
/ 12 ноября 2018

Похоже, что в Инспекторе Chrome (используя поиск в DOM - вкладка Элементы ) вы не можете выделить только текст или его часть.

Например, если вы попробуете //div[contains(text(),'Man')]/text(), вы выделите весь элемент div.

enter image description here

Это может объяснить, почему substring(//div[contains(text(),'Man')], 2) не работает. К сожалению, я не могу найти информацию об этом в документации.

Таким образом, в качестве альтернативы вы можете использовать $x(path) или Document.evaluate() в консоли.
Например,
$x("substring(//div[contains(text(),'Man')], 2)")
или
document.evaluate("substring(//div[contains(text(),'Man')], 2)", document)

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