Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

id, name, xpath और css में से किस लोकेटर का उपयोग करना चाहिए?


प्रत्येक लोकेटर का कुछ महत्व है। यदि पेज में यूनिक एट्रिब्यूट वैल्यू हैं, तो हमें पहले उनका उपयोग करना चाहिए। हालांकि यदि कोई यूनिक एलिमेंट नहीं हैं, तो हमें CSS सेलेक्टर का उपयोग करना चाहिए क्योंकि यह गति के मामले में अधिक प्रभावी है।

CSS का एक दोष भी है कि हम चाइल्ड से पैरेंट नोड तक ट्रैवर्स नहीं कर सकते जिसका अर्थ है कि हम पीछे की ओर यात्रा नहीं कर सकते। लेकिन XPath यह सुविधा देता है। XPath Selenium में सबसे आम लोकेटर है और 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 अब सही नहीं रहेगा।

उदाहरण

import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.concurrent.TimeUnit; public class TextMatch {    public static void main(String[] args) {       System.setProperty("webdriver.chrome.driver",    "C:\\Users\\ghs6kor\\Desktop\\Java\\chromedriver.exe");       WebDriver driver = new ChromeDriver();       String url = " https://www.tutorialspoint.com/questions/index.php";       driver.get(url);       driver.manage().window().maximize();       driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);       // xpath से एलिमेंट की पहचान       driver.findElement(By.xpath("//input[@class=’gsc-input’]")).click();       driver.close();    } }

  1. CSS में सेलेक्टर क्या है और इसका उपयोग कैसे किया जाता है? CSS में सेलेक्टर क्या है और इसका उपयोग कैसे किया जाता है?

    एक सेलेक्टर एक HTML टैग है जिस पर स्टाइल लागू होती है। यह <h1> या <table> आदि जैसा कोई भी टैग हो सकता है। निम्नलिखित आकृति बताती है कि सेलेक्टर क्या है: आइए टाइप सेलेक्टर का एक उदाहरण देखें, रंग सेट करने के लिए: h1 { color: #36CFFF; }

  1. CSS और JavaScript से क्लास नाम के आधार पर DIV एलिमेंट को कैसे फिल्टर करें? CSS और JavaScript से क्लास नाम के आधार पर DIV एलिमेंट को कैसे फिल्टर करें?

    क्लास नाम के आधार पर DIV एलिमेंट को फिल्टर करने के लिए, कोड निम्न है: उदाहरण { removeActiveClass(item, show); if (item.className.indexOf(c) > -1) addActiveClass(item, show); }); } function addActiveClass(ele, name) { var i, arr1, arr2; arr1 = ele.className.split( ); arr2 = name.split( ); for (i

  1. अपने iPhone का नाम आसानी से कैसे बदलें और यह क्यों मायने रखता है अपने iPhone का नाम आसानी से कैसे बदलें और यह क्यों मायने रखता है

    आपके नए iPhone का एक नाम होता है जिसमें डिफ़ॉल्ट रूप से आपका असली नाम शामिल होता है। जब तक आप अपने Apple ID के लिए एक छद्म नाम का उपयोग नहीं करते या अपना iPhone सेट करते समय, आपका असली नाम आपके iPhone के नाम में भी दिखाई देगा। यहां अपने iPhone का नाम बदलने का तरीका बताया गया है। यह ट्यूटोरियल यह भी