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.
Czy istnieje sposób na skopiowanie pełnego XPath?
google-chrome
google-chrome-devtools
GeoffreyF67
źródło
źródło
Odpowiedzi:
Możesz używać
$x
w konsoli javascript Chrome. Nie są potrzebne rozszerzenia.dawny:
$x("//img")
Również pole wyszukiwania w inspektorze internetowym zaakceptuje xpath
źródło
Ctrl+Space
się 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
Kliknij prawym przyciskiem myszy węzeł => „Kopiuj XPath”
źródło
Wszystkie powyższe odpowiedzi są prawidłowe tutaj jest też inny sposób ze zrzutem ekranu.
Z Chrome:
źródło
Rozszerzenie XPath Helper robi to, czego potrzebujesz: https://chrome.google.com/webstore/detail/hgimnogjllphhhkhlmebbmlgjoejdpjl
źródło
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”.
źródło
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:
źródło
Powiedzmy prostą formułę, aby znaleźć xpath dowolnego elementu:
1- Otwórz stronę w przeglądarce
2- Wybierz element i kliknij go prawym przyciskiem myszy
3- Kliknij opcję sprawdzenia elementu
4- Kliknij prawym przyciskiem myszy wybrany HTML
5- wybierz opcję skopiowania xpath Użyj go tam, gdzie jest to potrzebne
Ten link wideo będzie dla Ciebie pomocny. http://screencast.com/t/afXsaQXru
Uwaga: Aby uzyskać zaawansowane opcje xpath, musisz znać wyrażenie regularne lub wzorzec html.
źródło
$x('//*[@id="answer-33492958"]/table/tbody/tr[1]/td[1]/div/a[1]')[0].click();
xpathOnClick ma to, czego szukasz: https://chrome.google.com/extensions/detail/ikbfbhbdjpjnalaooidkdbgjknhghhbo
Przeczytaj komentarze, w rzeczywistości potrzeba trzech kliknięć, aby uzyskać xpath.
źródło
Od najnowszej aktualizacji dla Chrome możesz teraz kliknąć dowolny element w inspektorze elementów i skopiować XPath do schowka.
źródło
Na przykład w przypadku Chrome:
za. Aby to zrobić, otwierając panel „Elementy” przeglądarki, naciśnij CTRL + F, wklej XPath.
b. Wprowadź zmiany zgodnie z opisem w poniższym przykładzie.
Absolute xpath = // * [@ id = "app"] / div [1] / header / nav / div [2] / ul / li [2] / div / button
Powiązana xpath = // div // nav / div [2] / ul / li [2] / div / button
Po wprowadzeniu zmian:
źródło
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.
źródło
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.
źródło
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.
źródło
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.
źródło
Wypróbowałem prawie wszystkie dostępne rozszerzenia i znalazłem poniżej jedno z najlepszych.
Link do rozszerzenia ChroPath
Podobnie jak FirePath, to rozszerzenie bezpośrednio daje ci Xpath po kliknięciu Inspect.
źródło
naciśnij
Cntl + Shift + C
wybierz element, który chcesz uzyskać
XPath
, klikając goright click
na podświetloną część konsolicopy
->copy XPath
źródło
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.
Generator XPath
źródło