सेलेनियम - लोकेटर

सेलेनियम वेबड्राइवर में एलिमेंटिंग तत्वों को वेबराइवर और वेबइलर क्लास द्वारा दिए गए खोज () और फाइंडलाइज () तरीकों की मदद से किया जाता है।

  • findElement () एक निर्दिष्ट खोज मापदंड के आधार पर एक WebElement वस्तु देता है या खोज मानदंड से मेल खाने वाला कोई तत्व नहीं मिलने पर अपवाद को फेंक देता है।

  • findElements () खोज मापदंड से मेल खाते WebElements की एक सूची देता है। यदि कोई तत्व नहीं मिलते हैं, तो यह एक खाली सूची देता है।

निम्न तालिका सेलेनियम वेबड्राइवर में तत्वों को खोजने के लिए सभी जावा सिंटैक्स को सूचीबद्ध करती है।

तरीका वाक्य - विन्यास विवरण
आईडी द्वारा Driver.findElement (By.id (<तत्व आईडी>)) आईडी विशेषता का उपयोग करके एक तत्व का पता लगाता है
नाम से Driver.findElement (By.name (<तत्व का नाम>)) नाम विशेषता का उपयोग करते हुए एक तत्व का पता लगाता है
वर्ग के नाम से Driver.findElement (By.className (<तत्व वर्ग>)) क्लास विशेषता का उपयोग करके एक तत्व का पता लगाता है
टैग नाम से Driver.findElement (By.tagName (<htmltagname>)) HTML टैग का उपयोग करके एक तत्व का पता लगाता है
लिंक पाठ द्वारा Driver.findElement (By.linkText (<linktext>)) लिंक पाठ का उपयोग करके लिंक का पता लगाता है
आंशिक लिंक पाठ द्वारा Driver.findElement (By.partialLinkText (<linktext>)) लिंक के आंशिक पाठ का उपयोग करके लिंक का पता लगाता है
सीएसएस द्वारा Driver.findElement (By.cssSelector (<css selector>)) CSS चयनकर्ता का उपयोग करके एक तत्व का पता लगाता है
XPath द्वारा Driver.findElement (By.xpath (<xpath>)) XPath क्वेरी का उपयोग करके एक तत्व खोजता है

लोकेटर उपयोग

अब आइए हम प्रत्येक लोकेटर विधियों के व्यावहारिक उपयोग को समझते हैं https://www.calculator.net

आईडी द्वारा

यहां आईडी की मदद से किसी ऑब्जेक्ट को एक्सेस किया जाता है। इस मामले में, यह टेक्स्ट बॉक्स की आईडी है। आईडी (cdensity) की मदद से Sendkeys विधि का उपयोग करके मानों को टेक्स्ट बॉक्स में दर्ज किया जाता है।

driver.findElement(By.id("cdensity")).sendKeys("10");

नाम से

यहां नामों की मदद से किसी ऑब्जेक्ट को एक्सेस किया जाता है। इस मामले में, यह टेक्स्ट बॉक्स का नाम है। आईडी (cdensity) की मदद से Sendkeys विधि का उपयोग करके मानों को टेक्स्ट बॉक्स में दर्ज किया जाता है।

driver.findElement(By.name("cdensity")).sendKeys("10");

वर्ग के नाम से

यहां क्लास नेम्स की मदद से किसी ऑब्जेक्ट को एक्सेस किया जाता है। इस मामले में, यह WebElement का वर्ग नाम है। मूल्य को गेटटेक्स्ट विधि की सहायता से एक्सेस किया जा सकता है।

List<WebElement> byclass = driver.findElements(By.className("smalltext smtb"));

टैग नाम से

किसी तत्व के DOM टैग नाम का उपयोग उस विशेष तत्व को WebDriver में खोजने के लिए किया जा सकता है। इस विधि की मदद से तालिकाओं को संभालना बहुत आसान है। निम्नलिखित कोड पर एक नज़र डालें।

WebElement table = driver.findElement(By.id("calctable"));
List<WebElement> row = table.findElements(By.tagName("tr"));
int rowcount = row.size();

लिंक पाठ द्वारा

यह विधि दृश्य पाठ से मेल खाते लिंक तत्व का पता लगाने में मदद करती है।

driver.findElements(By.linkText("Volume")).click();

आंशिक लिंक पाठ द्वारा

यह विधियाँ आंशिक मिलान दृश्यमान पाठ के साथ लिंक तत्व का पता लगाने में मदद करती हैं।

driver.findElement(By.partialLinkText("Volume")).click();

सीएसएस द्वारा

CSS का उपयोग webobject की पहचान करने के लिए एक विधि के रूप में किया जाता है, हालाँकि सभी ब्राउज़र CSS की पहचान का समर्थन नहीं करते हैं।

WebElement loginButton = driver.findElement(By.cssSelector("input.login"));

XPath द्वारा

XPath का अर्थ XML पथ की भाषा है। यह एक XML दस्तावेज़ से नोड्स का चयन करने के लिए एक क्वेरी भाषा है। XPath XML दस्तावेज़ों के ट्री प्रतिनिधित्व पर आधारित है और विभिन्न मानदंडों का उपयोग करके नोड्स का चयन करके पेड़ के चारों ओर नेविगेट करने की क्षमता प्रदान करता है।

driver.findElement(By.xpath(".//*[@id = 'content']/table[1]/tbody/tr/td/table/tbody/tr[2]/td[1]/input")).sendkeys("100");