Тестер XPath
Тестирование XPath-выражений на HTML/XML
Вставь HTML или XML, напиши XPath-выражение и посмотри, какие узлы оно выбирает. XPath сбивает с толку чаще, чем CSS-селекторы — пропущенный / или неверная ось сложно заметна без тестирования. Работает с XPath 1.0 — именно его используют Scrapy, lxml и большинство Python-библиотек для парсинга.
No input provided
Как использовать
- 1Вставь HTML или XML — Подойдёт любой фрагмент. XML с пространствами имён тоже поддерживается.
- 2Напиши выражение — Введи XPath-выражение. Например: //div[@class="price"] или //a/@href.
- 3Получи результат — В авторежиме совпадения обновляются сразу при вводе выражения. Если авторежим отключён — нажми Запустить.
- 4Используй оси для сложных запросов — parent::, ancestor::, following-sibling:: — для обхода дерева в стороны и вверх, что CSS не умеет.
Примеры
//a/@href//div[@class="product-title"]//p[contains(text(), "цена")]//li[.//span[@class="badge"]]/a(//ul[@class="results"]/li)[3]Когда использовать
XPath незаменим в двух случаях, где CSS бессилен: когда нужно найти элемент по тексту его потомка (например, ячейку таблицы рядом с ячейкой «Цена»), и когда нужно подняться вверх по дереву DOM. В Python XPath 1.0 поддерживается нативно через lxml и Scrapy (response.xpath()). В Node.js — через xmldom и xpath. Инструмент работает именно с XPath 1.0 — той версией, которую используют эти библиотеки. Типичный рабочий процесс: получи HTML через Request Tester, открой здесь, напиши выражение и убедись что возвращает нужные узлы — потом переноси в код без сюрпризов.