Как пользоваться: XPath тестер
- Вставьте XML или HTML (для HTML-страниц переключите режим) или загрузите пример.
- Введите выражение XPath — результаты обновляются по мере ввода.
- Каждый результат показывает точный путь, атрибуты и содержимое. Нажмите на путь, чтобы использовать его как выражение.
- Попробуйте готовые примеры, чтобы освоить типичные шаблоны.
XPath в двух словах
| Выражение | Выбирает |
|---|---|
/catalog/book | элементы book, которые являются прямыми потомками корневого элемента catalog |
//title | все элементы title в любом месте документа |
//book[@id='bk102'] | книги, у которых атрибут id равен bk102 |
//book[price > 30]/title | названия книг стоимостью больше 30 |
//book[1] / //book[last()] | первая / последняя книга в каждом родителе |
//a[contains(@href, 'docs')] | ссылки, в URL которых есть «docs» |
//li[normalize-space()='Home'] | элементы списка, у которых текст без пробелов по краям точно равен Home |
count(//book) | число вместо узлов |
//title/text() | сами текстовые узлы |
Пространства имён
В XML с пространством имён по умолчанию (xmlns="…") выражение //book ничего не найдёт, так как элементы находятся в этом пространстве. Объявленные префиксы подхватываются автоматически, а пространство имён по умолчанию доступно под префиксом d:, поэтому пишите //d:book. Также можно использовать //*[local-name()='book'].
Режим HTML
HTML разбирается так же, как это делает браузер: незакрытые теги исправляются, а в таблицы добавляется <tbody>. Такую же структуру видят Selenium, Playwright и парсеры. Используется встроенный в браузер движок XPath 1.0. Сначала приведите документ в порядок с помощью форматера XML или преобразуйте его через XML в JSON.
Также ищут как: xpath evaluator, xml xpath онлайн, html xpath.
Инструменты, которые хорошо сочетаются с XPath тестер
- Тестер JSONPath — Введите запрос JSONPath и сразу увидите, что он выбирает, с точным путём каждого совпадения.
- Тестер регулярных выражений — Введите шаблон и смотрите, как совпадения подсвечиваются прямо в тестовом тексте.
- HTML-редактор онлайн — Легкая песочница для кода: редактируйте HTML, CSS и JavaScript рядом, сразу видите результат, читайте вывод консоли и скачивайте страницу одним HTML-файлом.
- HTML форматер — Вставьте минифицированную или неаккуратную разметку и получите чистый HTML с единообразными отступами, включая встроенные блоки <style> и <script>.
Часто задаваемые вопросы
Какая версия XPath поддерживается?
matches() или upper-case(), недоступны.Почему мой XPath работает в браузере, но не в парсере?
tbody), а страницы часто меняются с помощью JavaScript. Проверяйте выражение на исходном HTML, который скачивает ваш парсер, используя здесь режим HTML.