प्रत्येक लोकेटर का कुछ न कुछ महत्व होता है। यदि पृष्ठ में अद्वितीय है
विशेषता मान, हमें पहले उनका उपयोग करना चाहिए। हालाँकि, यदि कोई अद्वितीय तत्व नहीं हैं, तो हमें css चयनकर्ता का उपयोग करना चाहिए क्योंकि यह गति के मामले में अधिक प्रभावी है।
Css की एक खामी यह भी है कि हम बच्चे से पैरेंट नोड तक नहीं जा सकते, जिसका अर्थ है कि हम पीछे की ओर यात्रा नहीं कर सकते। लेकिन xpath इस सुविधा की अनुमति देता है। Xpath सेलेनियम में सबसे आम लोकेटर है और किसी ऑब्जेक्ट की पहचान करने के लिए DOM तत्वों और विशेषताओं के माध्यम से ट्रैवर्सल करता है।
एक xpath को '/' और '//' नाम से दो तरीकों से दर्शाया जाता है। फॉरवर्ड सिंगल स्लैश का अर्थ है निरपेक्ष पथ। यहाँ xpath DOM में माता-पिता से सीधे बच्चे तक जाता है। इस प्रकार निरपेक्ष xpath में हमें रूट नोड से लक्ष्य तक यात्रा करनी होती है।
वाक्यविन्यास -
driver.findElement(By.xpath("/html/body/div/input")).
एक डबल फॉरवर्ड '//' स्लैश का मतलब सापेक्ष पथ है। यहां xpath को DOM के हर कोने में मैचिंग एलिमेंट मिलता है। इसका कोई विशेष प्रारंभिक बिंदु नहीं है।
वाक्यविन्यास −
driver.findElement(By.xpath("//input[@name='tutorial']")).
हमेशा पूर्ण xpath के बजाय सापेक्ष xpath का उपयोग करने की अनुशंसा की जाती है। निरपेक्ष xpath में, हमें रूट से वांछित तत्व तक निर्दिष्ट करने की आवश्यकता होती है ताकि यदि कोई भी विशेषता और उसका मान बीच में बदल जाए, तो हमारा xpath अब सही नहीं रहेगा।