क्रोम डेवलपर्स टूल या फ़ायरफ़ॉक्स के फ़ायरबग में एक्सपीथ एक्सप्रेशन को कैसे सत्यापित करें?


179

मैं अपने XPath को कैसे सत्यापित कर सकता हूं?

मैं तत्वों का निरीक्षण करने और अपने XPath को बनाने के लिए क्रोम डेवलपर्स टूल का उपयोग कर रहा हूं। मैं इसे क्रोम प्लगइन XPath चेकर का उपयोग करके सत्यापित करता हूं, हालांकि यह हमेशा मुझे परिणाम नहीं देता है। मेरे XPath को सत्यापित करने का एक बेहतर तरीका क्या है।

मैंने बग का निरीक्षण करने के लिए फायरबग का उपयोग करने और सत्यापित करने के लिए फायरपाथ का उपयोग करने का भी प्रयास किया है। लेकिन क्या फायरपाथ भी XPath को सत्यापित करता है।

मेरा अंतिम विकल्प मेरे XPath की पुष्टि करने के लिए सेलेनियम वेबड्राइवर का उपयोग करना होगा।

जवाबों:


367

क्रोम

यह तीन अलग-अलग दृष्टिकोण (मेरे ब्लॉग आलेख देखें द्वारा प्राप्त किया जा सकता यहाँ अधिक जानकारी के लिए):

  • Elementsनीचे की तरह पैनल में खोजें
  • निष्पादित $x()और $$()में Consoleपैनल, के रूप में लॉरेंस की में दिखाया गया है जवाब
  • तृतीय पक्ष एक्सटेंशन (अधिकांश मामलों में वास्तव में आवश्यक नहीं, एक ओवरकिल हो सकता है)

यहाँ आप XPath को Elementsपैनल में कैसे खोजते हैं :

  1. F12Chrome डेवलपर टूल खोलने के लिए दबाएं
  2. "एलिमेंट्स" पैनल में, Ctrl+ दबाएंF
  3. खोज बॉक्स में, XPath या CSS चयनकर्ता में टाइप करें, यदि तत्व पाए जाते हैं, तो उन्हें पीले रंग में हाइलाइट किया जाएगा।

यहां छवि विवरण दर्ज करें

फ़ायरफ़ॉक्स (संस्करण 75 के बाद से)

FF 75 के बाद से मूल्यांकन xpath अभिव्यक्तियों के बिना कच्ची xpath क्वेरी का उपयोग करना संभव है, अधिक जानकारी के लिए दस्तावेज़ीकरण देखें ।

फ़ायरफ़ॉक्स (पूर्व संस्करण 75)

  1. या तो फ़ायरफ़ॉक्स मेनू में वेब डेवलपर सबमेनू से "वेब कंसोल" चुनें (या यदि आप मेनू बार प्रदर्शित करते हैं तो टूल मेनू)
    या मैक ओएस एक्स पर हैं) या Ctrl+ Shift+ K( Command+ Option+ Kओएस एक्स) कीबोर्ड शॉर्टकट दबाएं।
  2. नीचे कमांड लाइन में निम्नलिखित का उपयोग करें:

    • $(): पहले तत्व का मिलान करता है। पृष्ठ में फ़ंक्शन के बराबर document.querySelector()या कॉल करना $, यदि यह मौजूद है।

    • $$(): DOM नोड की एक सरणी देता है जो मेल खाता है। यह इसके लिए जैसा है document.querySelectorAll(), लेकिन इसके बजाय एक सरणी देता है NodeList

    • $x(): एक XPath अभिव्यक्ति का मूल्यांकन करता है और मिलान नोड्स की एक सरणी देता है।


फ़ायरफ़ॉक्स (पूर्व संस्करण 49)

  1. फायरबग स्थापित करें
  2. फायरपथ को स्थापित करें
  3. F12फायरबग खोलने के लिए दबाएँ
  4. FirePathपैनल पर स्विच करें
  5. ड्रॉपडाउन में, XPathor CSS का चयन करें
  6. पता लगाने के लिए टाइप करें

यहां छवि विवरण दर्ज करें


2
XPath और ब्राउज़रों पर सिर्फ एक चेतावनी, क्योंकि इससे बहुत भ्रम पैदा होता है: stackoverflow.com/questions/18241029/…
Jens Erat

@JensErat: वास्तव में अच्छी बात है। इस टिप्पणी को पढ़ने वाले अन्य लोगों के लिए, जैसा कि उस प्रश्न में पहले ही उल्लेख किया गया है, सेलेनियम प्रभावित नहीं है क्योंकि यह ब्राउज़र चलाता है और देव उपकरणों के साथ उसी अंतर्निहित जावास्क्रिप्ट मूल्यांकन तकनीक का उपयोग करता है।
यी ज़ेंग

1
@ user1177636: इन GIF को बनाने के लिए आपने किस सॉफ्टवेयर का उपयोग किया?
JacekM

यदि आपको XQuery के लिए एक स्थानीय पार्सर की आवश्यकता है, तो मुझे बेसएक्स भी मिल गया है: basex.org/products
tuxErrante

4
उत्तर को फ़ायरफ़ॉक्स के लिए एक अद्यतन की आवश्यकता है। दुर्भाग्य से फायरबग अप्रचलित है और इसे डेवलपर टूल में विलय कर दिया गया है। वर्तमान में आप कंसोल में xpath अभिव्यक्ति का परीक्षण कर सकते हैं, उदाहरण के लिए$("//div")
derloopkat

53

आप CTRL+Iविंडोज (या CMD+Iमैक) और F12फिर फ़ायरफ़ॉक्स के साथ क्रोम में DevTools खोल सकते हैं , फिर Consoleटैब चुनें) और टाइप करके XPath की जांच करें $x("your_xpath_here")
यह मिलान किए गए मानों की एक सरणी लौटाएगा। यदि यह खाली है, तो आप जानते हैं कि पृष्ठ पर कोई मेल नहीं है।

फ़ायरफ़ॉक्स v66 (अप्रैल 2019):

फ़ायरफ़ॉक्स v66 कंसोल xpath

Chrome v69 (अप्रैल 2019):

क्रोम v69 कंसोल xpath


1
यह विधि आदर्श नहीं है, लेकिन यह जानना अच्छा है क्योंकि जो भी xpath अभिव्यक्ति आप उस कंसोल में लिखते हैं, उसे सेलेनियम में जावास्क्रिप्ट एक्सिक्यूटर द्वारा निष्पादित किया जा सकता है। कभी-कभी आप इसे वर्कअराउंड के रूप में उपयोग कर सकते हैं, शायद जब फ़ायरफ़ॉक्स मूल घटनाओं को अक्षम किया जाता है?
djangofan

1
@djangofan, आपका क्या मतलब है? उस तर्क से ये दोनों उत्तर, हालांकि सही हैं, आपके तर्क से अनावश्यक हैं।
अरन

1
@bosnjak जब $x("//input[@name='q']")मैं सांत्वना में यह कोशिश कर रहा हूँVM251:1 Uncaught TypeError: $x is not a function at <anonymous>:1:1
YasserKhalil

@YasserKhalil आप किस ब्राउज़र का उपयोग कर रहे हैं, कौन सा संस्करण? आप यह किस साइट पर कर रहे हैं?
बोसंजक

16

क्रोम या ओपेरा का उपयोग करके

किसी भी plugins के बिना, किसी भी XPath सिंटैक्स वर्ण को लिखे बिना

  1. आवश्यक तत्व पर राइट क्लिक करें, फिर "निरीक्षण करें"
  2. प्रकाश डाला तत्व टैग पर राइट क्लिक करें, कॉपी> कॉपी Xpath चुनें।

;)

यहां छवि विवरण दर्ज करें


2
क्रोम के लिए, यह सबसे अच्छा समाधान है जिसे मैंने अभी तक देखा है। साझा करने के लिए धन्यवाद। जब मैं फ़ायरफ़ॉक्स का उपयोग नहीं करना चाहता, तो क्रोम में पुष्टि करना आसान बनाता है।
स्वचालन

मैंने इसका भरपूर फायदा उठाया है। लेकिन एक बड़ी समस्या यह है कि कभी-कभी संदर्भ मेनू अक्षम या अधिलेखित हो जाता है। फिर आपको अन्य दृष्टिकोणों पर भरोसा करना होगा।
.फ्लेकक

1
यह वास्तव में सवाल का जवाब नहीं देता है। यह मौजूदा xpath की पुष्टि नहीं कर रहा है, यह एक उत्पन्न कर रहा है। जब कोई बेहतर समाधान मौजूद होता है, तो क्रोम जो उत्पन्न करता है वह अक्सर बदसूरत और बहुत नाजुक होता है।
प्रमुख मेजर

6

यहां क्रोम के लिए चेरपाथ एक्सटेंशन दिया गया है, जिसमें फायरपैथ की तुलना में कई उन्नत विशेषताएं हैं- कृपया नीचे दिए गए चरणों का पालन करें:

  1. भक्ति कक्ष खोलें।
  2. वेबपेज पर कहीं भी राइट क्लिक करें।
  3. निरीक्षण पर क्लिक करें।
  4. एलिमेंट्स टैब के राइट साइड में, ChroPath टैब पर क्लिक करें।

यहां आपको XPath / CSS मिलेगा और आप इसे संपादित और मूल्यांकन भी कर सकते हैं।

Addon डाउनलोड करें


1
ChroPath एक्सटेंशन अभी भी 2020 में काम करता है। धन्यवाद। बड़ी मदद।
बुलबुले

1

अपने xpath की जांच करने का एक अन्य विकल्प सेलेनियम आईडीई का उपयोग करना है।

  1. फ़ायरफ़ॉक्स सेलेनियम आईडीई स्थापित करें
  2. FireFox में अपना एप्लिकेशन खोलें और IDE खोलें
  3. IDE में, एक नई लाइन पर, अपने xpath को लक्ष्य पर पेस्ट करें और Find पर क्लिक करें। आपके आवेदन में संबंधित तत्व पर प्रकाश डाला जाएगा

सेलेनियम आईडीई


0

मैं WebSync क्रोम एक्सटेंशन का उपयोग करके XPath और Css चयनकर्ताओं का सत्यापन करता हूं

यह चयनकर्ताओं को सत्यापित करने और तत्व विशेषताओं पर क्लिक करके चयनकर्ताओं को उत्पन्न / संशोधित करने की संभावना प्रदान करता है।

https://chrome.google.com/webstore/detail/natu-websync/aohpgnblncapofbobbilnlfliihianac

यहां छवि विवरण दर्ज करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.