Tester XPath
Dokument XML lub HTML
Wklej kod XML lub HTML zawierający do 1 000 000 znaków. Obliczanie odbywa się w tej przeglądarce z użyciem XPath 1.0.
Bezwzględne lub względne wyrażenie XPath 1.0. Prefiksy zadeklarowane w dokumencie są rejestrowane automatycznie; domyślna przestrzeń nazw jest dostępna pod prefiksem d.
Oblicz XPathPisanie XPath do scrapingu lub XSLT to zgadywanie na ślepo, jeśli nie masz podręcznego środowiska testowego. Ten tester przyjmuje Twój XML lub HTML w jednym panelu, a wyrażenie w drugim, wykonuje XPath 1.0 silnikiem Twojej własnej przeglądarki i wypisuje każdy dopasowany węzeł wraz z rodzajem, atrybutami, tekstem i zserializowanymi znacznikami. Wyrażenia skalarne, takie jak count(//book), zwracają wartość bezpośrednio, a prefiksy przestrzeni nazw zadeklarowane w dokumencie są rejestrowane automatycznie. Wszystko działa w Twojej przeglądarce: dokument nigdy nie jest nigdzie wysyłany.
Jak przetestować wyrażenie XPath
-
1
Wklej XML lub HTML
Automatyczne wykrywanie przełącza się na łagodne parsowanie HTML, gdy zobaczy doctype lub korzeń HTML; możesz też wymusić tryb XML lub HTML.
-
2
Wpisz swój XPath
Bezwzględne (`/library/book`) lub względne (`//div[@class='card']`), dowolne wyrażenie XPath 1.0.
-
3
Wykonaj
Silnik XPath Twojej przeglądarki wykonuje zapytanie lokalnie; nic nie jest wysyłane na żaden serwer.
-
4
Przejrzyj wyniki
Każde dopasowanie pokazuje rodzaj węzła, atrybuty, przycięty tekst i zserializowane znaczniki; wyświetlanych jest do 200 dopasowań.
Podstawy XPath 1.0
| Wyrażenie | Co dopasowuje |
|---|---|
/books/book |
Elementy <book> będące dziećmi korzenia <books> |
//book |
Każdy <book> w dowolnym miejscu dokumentu |
//book[@id='42'] |
<book> z atrybutem id równym 42 |
//book[1] |
Pierwszy <book> u każdego rodzica (nie w dok.) |
(//book)[1] |
Pierwszy <book> w całym dokumencie |
//book[title='1984'] |
<book>, którego tekst <title> to „1984“ |
//book/@id |
Atrybuty id wszystkich elementów <book> |
//book[position() > 1] |
Wszystkie <book> poza pierwszym |
//book[last()] |
Ostatni <book> u każdego rodzica |
Wyrażenia skalarne też działają: count(//book) zwraca liczbę, string(//title) łańcuch znaków, a boolean(//book[@id]) prawdę lub fałsz. Tester pokazuje te wartości bezpośrednio, zamiast listy węzłów.
Popularne osie poza child
ancestor::, wszyscy przodkowiefollowing-sibling::, rodzeństwo za bieżącym węzłempreceding-sibling::, rodzeństwo przed nimdescendant::, wszyscy potomkowieattribute::(skrót@), atrybuty bieżącego węzłaparent::(skrót..), element nadrzędny
Osobliwości HTML
HTML nie jest ścisłym XML, więc tester parsuje go łagodnie parserem HTML Twojej przeglądarki zamiast ścisłym parserem XML. Tryb HTML jest wykrywany automatycznie po <!DOCTYPE html> lub korzeniu <html>, a selektorem trybu dokumentu możesz wymusić dowolny z trybów. W trybie HTML nazwy znaczników i atrybutów są zapisywane małymi literami, więc pisz XPath małymi literami: //div[@class], nie //DIV[@CLASS].
Przestrzenie nazw
XML z przestrzeniami nazw wymaga rejestracji prefiksów:
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/">
<item>
<content:encoded>...</content:encoded>
</item>
</rss>
Tester przeszukuje dokument pod kątem deklaracji xmlns i rejestruje każdy prefiks automatycznie, więc //content:encoded po prostu działa. Domyślna przestrzeń nazw (samo xmlns="...") nie ma prefiksu w dokumencie, dlatego tester wiąże ją z prefiksem d: elementy <item> w kanale z domyślną przestrzenią nazw wybierzesz przez //d:item. Zarejestrowane przestrzenie nazw są wypisane obok wyników.
Czego ten tester nie wykonuje
Przeglądarki wykonują XPath 1.0, czyli ten sam dialekt, którego używa większość narzędzi do scrapingu. Funkcje z XPath 2.0 i nowszych, takie jak matches(string, regex), tokenize(string, delimiter), wyrażenia for ... return i operatory sekwencji, nie należą do niego; znajdziesz je w narzędziach XSLT 2.0/3.0. XPath 1.0 pozostaje najbardziej przenośnym wyborem do web scrapingu.
Wskazówki do testowania
- Zacznij szeroko i zawężaj. Najpierw
//div, potem//div[@class], na końcu konkretna wartość klasy. - Sprawdź deklaracje przestrzeni nazw. Większość błędów typu „czemu mój XPath nic nie zwraca?“ to przestrzenie nazw; zajrzyj do listy zarejestrowanych przestrzeni nazw.
- Uważaj na wielkość liter. XML rozróżnia wielkość liter. Tryb HTML zapisuje nazwy małymi literami.
- Testuj string() przy wyciąganiu tekstu.
//p/text()istring(//p)różnią się, gdy w środku są zagnieżdżone znaczniki.
Najczęściej zadawane pytania
Nie, tylko XPath. Większość przeglądarek obsługuje oba przez document.querySelectorAll (CSS) i document.evaluate (XPath). Używaj tego, co jest czytelniejsze dla danego zadania.
Parsowanie HTML zapisuje nazwy znaczników i atrybutów małymi literami. Upewnij się, że Twój XPath używa małych liter: //div[@class], nie //DIV[@CLASS]. Sprawdź też tryb: wymuszenie XML na niechlujnym HTML kończy się błędem parsowania, a tryb HTML parsuje go łagodnie.
Prefiksy zadeklarowane w dokumencie są rejestrowane automatycznie dla Twojego wyrażenia. Domyślna przestrzeń nazw jest wiązana z prefiksem d, więc //d:item wybiera elementy <item> w dokumencie z domyślną przestrzenią nazw. Aktywne powiązania są wypisane przy wynikach.
Nie. Dokument i wyrażenie są wykonywane przez silnik XPath Twojej własnej przeglądarki i nie są wysyłane na nasz serwer, zapisywane ani dodawane do adresu strony; istnieją tylko w sesji tej przeglądarki, aby widok wieloetapowy mógł pokazać Twoje wyniki.
Powiązane narzędzia
Generator konfiguracji webpack
Utwórz plik webpack.config.js dla webpacka 5 do czystego JavaScriptu, Reacta lub Vue: TypeScript, Babel, CSS lub Sass, obrazy, HtmlWebpackPlugin, serwer deweloperski i polecenie npm install.
Generator kolorów analogicznych
Twórz pięciokolorowe palety analogiczne z dowolnego koloru bazowego: klasyczną trójkę, dwie zewnętrzne barwy oraz wartości hex, RGB i HSL.
Generator fikcyjnych numerów telefonu
Generuj do 50 fikcyjnych numerów z oficjalnie zastrzeżonych zakresów w pięciu krajach.
Walidator OpenAPI
Wklej dokument OpenAPI lub Swagger w JSON albo YAML i sprawdź jego podstawową strukturę: pole wersji, obiekt info i paths, z czytelnymi błędami i ostrzeżeniami.
Kod na obraz
Wklej kod, ustaw motyw, kolory, rozmiar czcionki, odstępy, nagłówek i numery wierszy, sprawdź podgląd canvas i pobierz PNG. Renderowanie zwykłego tekstu, bez podświetlania składni.
Kreator diagramów ERD
Utwórz lokalnie diagram encja-relacja z maksymalnie 12 encjami, polami, relacjami i licznościami. Eksportuj Mermaid, SVG, PNG lub JSON.
Narzędzie jest dostępne w innych językach
- XPath テスター [JA]
- เครื่องมือทดสอบ XPath [TH]
- Công cụ kiểm tra XPath [VI]
- XPath-tester [NL]
- XPath 테스터 [KO]
- Testeur XPath [FR]
- XPath-testare [SV]
- Testador de XPath [PT]
- Probador de XPath [ES]
- أداة اختبار XPath [AR]
- XPath-Tester [DE]
- Penguji XPath [ID]
- Тестер XPath [RU]
- XPath Test Aracı [TR]
- XPath 测试工具 [ZH]
- XPath Tester [EN]
- Tester XPath [IT]