Czy istnieje sposób na uzyskanie XPath w Google Chrome?
346
Mam stronę internetową, której chcę używać z YQL. Ale potrzebuję XPath określonego przedmiotu. Widzę to w obszarze narzędzi do debugowania dla Google Chrome, ale nie widzę sposobu na skopiowanie tego XPath.
@verhogen: Nie wiedziałem o tym, mimo że używam Firebug prawie codziennie. Jeśli ktoś jest zainteresowany więcej informacji, oto: blog.browsermob.com/2009/04/…
Popieram również to ... Pomocnik Xpath w Google Chrome nie działa dobrze, zarówno po naciśnięciu klawisza skrótu [Ctrl + Shift + X] lub kliknięciu czarnego przycisku „X Ścieżka” (przyciskiem klucza) w Konsola JS, gdy na stronie występują błędy JS. Nie mogłem znaleźć innych dobrych dodatków do Chrome. Nie pobieraj dodatku „XPath Checker” dla Mozilli. Znalazłem również problemy z tym dodatkiem. Pamiętaj, aby pobrać „XPather” i pobrać go, gdy Firefox jest otwarty (a nie jakakolwiek inna przeglądarka). Aby użyć elementu „XPather” kliknij prawym przyciskiem myszy i wybierz „Pokaż w XPather”
Teraz Chrome ma również rozszerzenie „XPather”. Czuję, że to bardzo dobrze. Alt-'x ', aby aktywować okno. Możesz wprowadzić xpath i zobaczyć dopasowane wyniki. Wyświetlanie dopasowanego wyniku jest dość porządne.
Fajnie - chociaż nie jestem pewien, czy to odpowiada na pierwotne pytanie. Jak się o tym dowiedziałeś? Zastanawiam się, czy w konsoli dostępne są inne podobne funkcje.
Ciekawe, jak Ctrl+Spacesię nie ujawnia $x. Jeśli po prostu wpiszesz $x, zobaczysz, jak to zostało osiągnięte, dlatego PO powinien być w stanie określić, jak osiągnąć to, czego chcą. Na przykład; document.evaluate('//h1', document, null, XPathResult.STRING_TYPE, null).stringValue
@huyz - dostępne są podobne funkcje. Zobacz developers.google.com/chrome-developer-tools/docs/console . Szczególnie przydatne jest 0 USD: ostatni element wybrany w narzędziu DOM. $ (0 $) sprawia, że jest to obiekt jQuery (jeśli jQuery jest dostępny). Ponadto artykuł nie wspomina o kopiowaniu (0 USD), które kopiuje do schowka. (Nawiasem mówiąc, ja właśnie odkrył $ x, i znalazłem ten wątek, bo starałem się wykorzystać tę zmienną na coś innego w konsoli.)
@Nate Nie ma łatwej alternatywy, jeśli chcesz, aby XPath nadal działał w miarę zmian w dokumencie. Musisz tylko o tym pomyśleć i starać się nie dodawać zbędnych informacji do swojej XPath. Ogólna zasada jest taka, że im dłuższy jest twój XPath, tym mniejsze jest prawdopodobieństwo, że będzie działał w innych kontekstach.
@xiatica, czy próbowałeś w nowej / odświeżonej karcie? Pamiętaj, że rozszerzenie nie będzie działać na kartach otwartych przed instalacją; takie karty muszą zostać odświeżone.
W Chrome nie jest potrzebne żadne rozszerzenie. Kliknij prawym przyciskiem myszy dowolny element, dla którego chcesz xpath, i kliknij „Inspect Element”, a następnie ponownie wewnątrz Inspektora, kliknij prawym przyciskiem myszy element i kliknij „Copy Xpath”.
Google Chrome zapewnia wbudowane narzędzie do debugowania o nazwie „ Chrome DevTools ”, które zawiera przydatną funkcję, która może oceniać lub sprawdzać poprawność selektorów XPath / CSS bez rozszerzeń stron trzecich.
Można to zrobić na dwa sposoby:
Użyj funkcji wyszukiwania w panelu Elementy, aby ocenić selektory XPath / CSS i podświetlić pasujące węzły w DOM. Uruchom tokeny $ x („some_xpath”) lub $$ („css-selektory”) w panelu konsoli, które zarówno ocenią, jak i sprawdzą poprawność.
Z panelu Elementy
Naciśnij klawisz F12, aby otworzyć Chrome DevTools.
Panel Elementy powinien być domyślnie otwarty.
Naciśnij Ctrl + F, aby włączyć wyszukiwanie DOM w panelu.
Wpisz selektory XPath lub CSS do oceny.
Jeśli są dopasowane elementy, zostaną podświetlone w DOM. Jeśli jednak wewnątrz DOM znajdują się pasujące ciągi, zostaną one również uznane za prawidłowe wyniki. Na przykład nagłówek selektora CSS powinien pasować do wszystkiego (wbudowany CSS, skrypty itp.), Który zawiera nagłówek słowa, zamiast dopasowywać tylko elementy.
Z panelu konsoli
Naciśnij klawisz F12, aby otworzyć Chrome DevTools.
Przejdź do panelu konsoli.
Wpisz XPath, $x(".//header")aby ocenić i zweryfikować.
Wpisz selektory CSS, takie jak $$("header")ocena i weryfikacja.
Sprawdź wyniki zwrócone z wykonania konsoli.
Jeśli elementy zostaną dopasowane, zostaną zwrócone na liście. W przeciwnym razie wyświetlana jest pusta lista [].
Jeśli selektor XPath lub CSS jest nieprawidłowy, wyjątek zostanie wyświetlony na czerwono. Na przykład:
$x(".//header/")
SyntaxError: Failed to execute 'evaluate' on 'Document': The string './/header/' is not a valid XPath expression.
$$("header[id=]")
SyntaxError: Failed to execute 'querySelectorAll' on 'Document': 'header[id=]' is not a valid selector.
Wygląda na to, że nie działa na Ubuntu 10.04 z chromem 12.0.742.124, instaluje się, ale po kliknięciu ikony xpath, następnie kliknij na stronie (po raz pierwszy, aby zamknąć wyskakujące okienko xpath), a następnie kliknij element strony (aby wyświetlić xpath w konsoli js ) .... nic nie pojawia się w konsoli. testowany na stronie wtyczek
Po prostu kliknij prawym przyciskiem myszy element, dla którego chcesz xpath, a zobaczysz pozycję menu, aby go skopiować. Być może nie istniało to, kiedy OP opublikował swoje stanowisko, ale na pewno już istnieje.
W Firebug w Firefoksie możesz kliknąć element prawym przyciskiem myszy po sprawdzeniu i wybrać Kopiuj XPath. Nie mogłem sprawić, by ChromYQLip działał sprawnie.
Możesz wypróbować rozszerzenie TruePath przeglądarki Chrome, które dynamicznie generuje względną ścieżkę XPath po kliknięciu prawym przyciskiem myszy strony internetowej i wyświetlenie całej ścieżki XPath jako pozycji menu.
Nieco OT, ale być może przydatne: w Mac Chrome, chociaż nie możesz skopiować xpath z pola wyszukiwania w panelu narzędzi deweloperskich (zamiast tego kopiuje chwyta węzeł jako HTML), możesz przeciągnąć i upuścić tekst do zewnętrznego edytora.
Użyj tego rozszerzenia, generuje xpaths na podstawie identyfikatora lub klasy, co prawdopodobnie jest tym, czego chcesz użyć.
Kliknij ikonę przeglądarki, panel zostanie wyświetlony w prawym rogu strony, a następnie kliknij przycisk Rozpocznij inspekcję, a następnie kliknij dowolny element, aby uzyskać ścieżkę xpath.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.