लोकेटर क्या हैं?
लोकेटर एक कमांड है जो सेलेनियम आईडीई को बताता है जो GUI तत्व (जैसे टेक्स्ट बॉक्स, बटन, चेक बॉक्स आदि) को संचालित करने की आवश्यकता है। सही GUI तत्वों की पहचान स्वचालन स्क्रिप्ट बनाने के लिए एक शर्त है। लेकिन GUI तत्वों की सटीक पहचान इससे अधिक कठिन है जितना लगता है। कभी-कभी, आप गलत GUI तत्वों या किसी भी तत्व के साथ काम करना समाप्त करते हैं! इसलिए, सेलेनियम एक GUI तत्व का सटीक पता लगाने के लिए कई लोकेटर प्रदान करता हैसेलेनियम आईडीई में सीएसएस लोकेटर के विभिन्न प्रकार
ऐसे कमांड हैं जिन्हें लोकेटर (जैसे "ओपन" कमांड) की आवश्यकता नहीं है। हालांकि, उनमें से ज्यादातर को सेलेनियम वेबड्राइवर में तत्व लोकेटर की आवश्यकता होती है।
लोकेटर का चुनाव काफी हद तक आपके एप्लिकेशन अंडर टेस्ट पर निर्भर करता है । इस ट्यूटोरियल में, हम इन अनुप्रयोगों का समर्थन करने वाले लोकेटरों के आधार पर फेसबुक, नए ट्रासडेमोडॉट के बीच टॉगल करेंगे। इसी तरह अपनी परीक्षण परियोजना में, आप अपने आवेदन समर्थन के आधार पर सेलेनियम वेबड्राइवर में किसी भी उपरोक्त सूचीबद्ध तत्व लोकेटर का चयन करेंगे।
आईडी द्वारा पता लगाना
यह तत्वों के पता लगाने का सबसे आम तरीका है क्योंकि आईडी प्रत्येक तत्व के लिए अद्वितीय माना जाता है।
लक्ष्य प्रारूप: तत्व का आईडी = आईडी
इस उदाहरण के लिए, हम Facebook को अपने परीक्षण ऐप के रूप में उपयोग करेंगे क्योंकि Mercury Tours ID विशेषताओं का उपयोग नहीं करते हैं।
स्टेप 1. चूंकि यह ट्यूटोरियल बनाया गया था, इसलिए फेसबुक ने अपना लॉगिन पेज डिज़ाइन बदल दिया है। परीक्षण के लिए इस डेमो पेज http://demo.guru99.com/test/facebook.html का उपयोग करें। फायरबग का उपयोग करके "ईमेल या फोन" टेक्स्ट बॉक्स का निरीक्षण करें और इसकी आईडी पर ध्यान दें। इस मामले में, आईडी "ईमेल" है।
चरण 2. सेलेनियम आईडीई लॉन्च करें और लक्ष्य बॉक्स में "आईडी = ईमेल" दर्ज करें। फाइंड बटन पर क्लिक करें और ध्यान दें कि "ईमेल या फोन" टेक्स्ट बॉक्स पीले रंग के साथ हाइलाइट हो जाता है और हरे रंग से बॉर्डर हो जाता है, जिसका अर्थ है, सेलेनियम आईडीई उस तत्व का सही पता लगाने में सक्षम था।
नाम से पता लगाना
नाम से पता लगाने वाले तत्व आईडी द्वारा पता लगाने के समान हैं, इसके अलावा हम इसके बजाय "नाम =" उपसर्ग का उपयोग करते हैं।
लक्ष्य प्रारूप: नाम = तत्व का नाम
निम्नलिखित प्रदर्शन में, हम अब बुध टूर का उपयोग करेंगे क्योंकि सभी महत्वपूर्ण तत्वों के नाम हैं।
चरण 1. http://demo.guru99.com/test/newtours/ पर नेविगेट करें और "उपयोगकर्ता नाम" पाठ बॉक्स का निरीक्षण करने के लिए फायरबग का उपयोग करें। इसका नाम विशेषता पर ध्यान दें।
यहां, हम देखते हैं कि तत्व का नाम "उपयोगकर्ता नाम" है।
चरण 2. सेलेनियम आईडीई में, लक्ष्य बॉक्स में "नाम = उपयोगकर्ता नाम" दर्ज करें और खोज बटन पर क्लिक करें। सेलेनियम आईडीई को उजागर करके उपयोगकर्ता नाम पाठ बॉक्स का पता लगाने में सक्षम होना चाहिए।
फ़िल्टर का उपयोग करके नाम द्वारा पता लगाना
कई तत्वों का एक ही नाम होने पर फिल्टर का उपयोग किया जा सकता है। फिल्टर एक ही नाम के साथ तत्वों को अलग करने के लिए उपयोग किए जाने वाले अतिरिक्त गुण हैं।
लक्ष्य प्रारूप : नाम = name_of_the_element फ़िल्टर = value_of_filter
आइए एक उदाहरण देखें -
चरण 1 । उपयोगकर्ता नाम और पासवर्ड के रूप में "ट्यूटोरियल" का उपयोग करके बुध टूर्स पर लॉग ऑन करें। यह आपको नीचे दिखाए गए फ़्लाइट फ़ाइंडर पृष्ठ पर ले जाना चाहिए।
चरण 2। फायरबग का उपयोग करते हुए, ध्यान दें कि गोल ट्रिप और वन वे रेडियो बटन का एक ही नाम "ट्रिपटाइप" है। हालाँकि, उनकी अलग-अलग वैल्यू विशेषताएँ हैं, इसलिए हम उनमें से प्रत्येक को हमारे फ़िल्टर के रूप में उपयोग कर सकते हैं।
चरण 3।
- हम पहले वन वे रेडियो बटन को एक्सेस करने जा रहे हैं। संपादक पर पहली पंक्ति पर क्लिक करें।
- सेलेनियम आईडीई के कमांड बॉक्स में, "क्लिक करें" कमांड दर्ज करें।
- लक्ष्य बॉक्स में, "name = tripType value = oneway" दर्ज करें। "मान = वनवे" भाग हमारा फ़िल्टर है।
चरण 4 । खोज बटन पर क्लिक करें और ध्यान दें कि सेलेनियम आईडीई हरे रंग के साथ वन वे रेडियो बटन को उजागर करने में सक्षम है - जिसका अर्थ है कि हम इसकी वैल्यू विशेषता का उपयोग करके सफलतापूर्वक तत्व तक पहुंचने में सक्षम हैं।
चरण 5. इस क्लिक कमांड को निष्पादित करने के लिए अपने कीबोर्ड में "X" कुंजी दबाएं। ध्यान दें कि वन वे रेडियो बटन चयनित हो गया।
आप अपने लक्ष्य के रूप में "नाम = ट्रिपटाइप मूल्य = राउंडट्रिप" का उपयोग करके, इस बार गोल ट्रिप रेडियो बटन के साथ सटीक काम कर सकते हैं।
लिंक पाठ द्वारा पता लगाना
सेलेनियम में इस प्रकार का CSS लोकेटर केवल हाइपरलिंक ग्रंथों पर लागू होता है। हम अपने लिंक को "लिंक =" के साथ उपसर्ग करके लिंक तक पहुंचते हैं और फिर हाइपरलिंक पाठ के बाद।
लक्ष्य प्रारूप : लिंक = लिंक_टेक्स्ट
इस उदाहरण में, हम बुध टूर्स होमपेज पर पाए गए "रेजिस्टर" लिंक तक पहुंचेंगे।
चरण 1।
- सबसे पहले, सुनिश्चित करें कि आप मर्करी टूर्स से लॉग इन हैं।
- बुध टूर्स होमपेज पर जाएं।
चरण 2 ।
- फायरबग का उपयोग करके, "रजिस्टर" लिंक का निरीक्षण करें। लिंक पाठ और टैग के बीच पाया जाता है।
- इस मामले में, हमारा लिंक टेक्स्ट "REGISTER" है। लिंक टेक्स्ट कॉपी करें।
चरण 3 । फायरबग में लिंक टेक्स्ट को कॉपी करें और इसे सेलेनियम आईडीई के लक्ष्य बॉक्स पर पेस्ट करें। इसे "लिंक =" के साथ उपसर्ग करें।
चरण 4. फाइंड बटन पर क्लिक करें और ध्यान दें कि सेलेनियम आईडीई पंजीकरण लिंक को सही ढंग से उजागर करने में सक्षम था।
चरण 5. आगे सत्यापित करने के लिए, कमांड बॉक्स में "clickAndWait" दर्ज करें और इसे निष्पादित करें। सेलेनियम आईडीई सफलतापूर्वक उस लिंक पर क्लिक करें और आपको नीचे दिखाए गए पंजीकरण पृष्ठ पर ले जाना चाहिए।
CSS चयनकर्ता द्वारा पता लगाना
सेलेनियम में सीएसएस चयनकर्ता स्ट्रिंग पैटर्न हैं जिनका उपयोग HTML टैग, आईडी, वर्ग और विशेषताओं के संयोजन के आधार पर एक तत्व की पहचान करने के लिए किया जाता है। सेलेनियम में सीएसएस चयनकर्ताओं द्वारा पता लगाना पिछले तरीकों की तुलना में अधिक जटिल है, लेकिन यह उन्नत सेलेनियम उपयोगकर्ताओं की सबसे आम खोज की रणनीति है क्योंकि यह उन तत्वों तक भी पहुंच सकता है जिनके पास कोई आईडी या नाम नहीं है।
सेलेनियम में सीएसएस चयनकर्ताओं के कई प्रारूप हैं, लेकिन हम केवल सबसे आम लोगों पर ध्यान केंद्रित करेंगे।
- टैग और आई.डी.
- टैग और वर्ग
- टैग और विशेषता
- टैग, वर्ग और विशेषता
- भीतरी पाठ
इस रणनीति का उपयोग करते समय, हम हमेशा "css =" के साथ लक्ष्य बॉक्स को उपसर्ग करते हैं, जैसा कि निम्नलिखित उदाहरणों में दिखाया जाएगा।
CSS चयनकर्ता द्वारा पता लगाना - टैग और आईडी
फिर, हम इस उदाहरण में फेसबुक के ईमेल टेक्स्ट बॉक्स का उपयोग करेंगे। जैसा कि आप याद कर सकते हैं, इसमें "ईमेल" की एक आईडी है, और हम पहले से ही इसे "आईडी द्वारा पता लगाने" अनुभाग में एक्सेस कर चुके हैं। इस बार, हम उसी समान तत्व तक पहुँचने में आईडी के साथ एक सेलेनियम सीएसएस चयनकर्ता का उपयोग करेंगे।
वाक्य - विन्यास |
विवरण |
---|---|
css = टैग # आईडी |
|
ध्यान रखें कि आईडी हमेशा हैश साइन (#) से पहले होती है।
चरण 1. www.facebook.com पर नेविगेट करें। फायरबग का उपयोग करके, "ईमेल या फोन" टेक्स्ट बॉक्स की जांच करें।
इस बिंदु पर, ध्यान दें कि HTML टैग "इनपुट" है और इसकी आईडी "ईमेल" है। तो हमारा सिंटैक्स "css = input # email" होगा।
चरण 2. सेलेनियम आईडीई के लक्ष्य बॉक्स में "सीएसएस = इनपुट # ईमेल" दर्ज करें और ढूंढें बटन पर क्लिक करें। सेलेनियम आईडीई उस तत्व को उजागर करने में सक्षम होना चाहिए।
CSS चयनकर्ता द्वारा पता लगाना - टैग और क्लास
HTML टैग और वर्ग नाम का उपयोग करके सेलेनियम में सीएसएस चयनकर्ता द्वारा पता लगाना टैग और आईडी का उपयोग करने के समान है, लेकिन इस मामले में, हैश चिन्ह के बजाय एक डॉट (।) का उपयोग किया जाता है।
वाक्य - विन्यास |
विवरण |
---|---|
css = टैग। कक्षा |
|
चरण 1. डेमो पेज http://demo.guru99.com/test/facebook.html पर जाएं और "ईमेल या फोन" टेक्स्ट बॉक्स का निरीक्षण करने के लिए फायरबग का उपयोग करें। ध्यान दें कि इसका HTML टैग "इनपुट" है और इसका वर्ग "इनपुटटेक्स्ट" है।
चरण 2. सेलेनियम आईडीई में, लक्ष्य बॉक्स में "css = input.inputtext" दर्ज करें और खोजें पर क्लिक करें। सेलेनियम आईडीई ईमेल या फोन टेक्स्ट बॉक्स को पहचानने में सक्षम होना चाहिए।
ध्यान दें कि जब कई तत्वों में एक ही HTML टैग और नाम होता है, तो स्रोत कोड में केवल पहला तत्व पहचाना जाएगा । फायरबग का उपयोग करते हुए, फेसबुक में पासवर्ड टेक्स्ट बॉक्स का निरीक्षण करें और ध्यान दें कि इसका नाम ईमेल या फोन टेक्स्ट बॉक्स के समान है।
पिछले इलस्ट्रेशन में केवल ईमेल या फोन टेक्स्ट बॉक्स को हाइलाइट करने का कारण यह है कि यह फेसबुक के पेज सोर्स में सबसे पहले आता है।
CSS चयनकर्ता द्वारा पता लगाना - टैग और विशेषता
यह रणनीति HTML टैग और एक्सेस किए जाने वाले तत्व की एक विशिष्ट विशेषता का उपयोग करती है।
वाक्य - विन्यास |
विवरण |
---|---|
सीएसएस = टैग [विशेषता = मूल्य] |
|
चरण 1. बुध टूर्स के पंजीकरण पृष्ठ पर जाएँ (http://demo.guru99.com/test/newtours/register.php) और "अंतिम नाम" टेक्स्ट बॉक्स का निरीक्षण करें। इसका HTML टैग (इस मामले में "इनपुट") और उसके नाम ("अंतिम नाम") पर ध्यान दें।
चरण 2. सेलेनियम आईडीई में, लक्ष्य बॉक्स में "सीएसएस = इनपुट [नाम = अंतिम नाम]" दर्ज करें और खोजें पर क्लिक करें। सेलेनियम आईडीई अंतिम नाम बॉक्स को सफलतापूर्वक एक्सेस करने में सक्षम होना चाहिए।
जब कई तत्वों में एक ही HTML टैग और विशेषता होती है, तो केवल पहले वाले को ही पहचाना जाएगा । यह व्यवहार समान टैग और वर्ग के साथ CSS चयनकर्ताओं का उपयोग करने वाले तत्वों को खोजने के समान है।
CSS चयनकर्ता द्वारा पता लगाना - टैग, वर्ग और विशेषता
वाक्य - विन्यास | विवरण |
---|---|
css = tag.class [विशेषता = मूल्य] |
|
चरण 1. डेमो पेज http://demo.guru99.com/test/facebook.html पर जाएं और 'ईमेल या फोन' और 'पासवर्ड' इनपुट बॉक्स का निरीक्षण करने के लिए फायरबग का उपयोग करें। उनके HTML टैग, वर्ग और विशेषताओं पर ध्यान दें। इस उदाहरण के लिए, हम उनकी 'टैबइंडेक्स' विशेषताओं का चयन करेंगे।
चरण 2. हम पहले 'ईमेल या फोन' टेक्स्ट बॉक्स तक पहुंचेंगे। इस प्रकार, हम सेलेनियम आईडीई के लक्ष्य बॉक्स में "Enter" css = input.inputtext [tabindex = 1] "का एक टैबइंडेक्स मान का उपयोग करेंगे और ढूँढें पर क्लिक करें। 'ईमेल या फोन' इनपुट बॉक्स पर प्रकाश डाला जाना चाहिए।
चरण 3. पासवर्ड इनपुट बॉक्स तक पहुंचने के लिए, बस टैबइंडेक्स विशेषता के मूल्य को बदलें। लक्ष्य बॉक्स में "css = input.inputtext [tabindex = 2]" दर्ज करें और खोज बटन पर क्लिक करें। सेलेनियम आईडीई पासवर्ड पाठ बॉक्स की सफलतापूर्वक पहचान करने में सक्षम होना चाहिए।
CSS चयनकर्ता द्वारा पता लगाना - आंतरिक पाठ
जैसा कि आपने देखा होगा, HTML लेबल को शायद ही कभी आईडी, नाम, या वर्ग गुण दिए जाते हैं। तो, हम उन्हें कैसे एक्सेस करते हैं? इसका उत्तर उनके आंतरिक ग्रंथों के उपयोग के माध्यम से है। आंतरिक पाठ वास्तविक स्ट्रिंग पैटर्न हैं जो HTML लेबल पृष्ठ पर दिखाता है।
वाक्य - विन्यास |
विवरण |
---|---|
css = टैग: इसमें ("आंतरिक पाठ") शामिल है |
|
चरण 1. बुध टूर्स के होमपेज पर जाएं (http://demo.guru99.com/test/newtours/) और "पासवर्ड" लेबल की जांच करने के लिए फायरबग का उपयोग करें। इसके HTML टैग पर ध्यान दें (जो इस मामले में "फ़ॉन्ट" है) और ध्यान दें कि इसमें कोई वर्ग, आईडी या नाम विशेषता नहीं है।
चरण 2. टाइप करें सीएसएस = फ़ॉन्ट: इसमें ("पासवर्ड:") सेलेनियम आईडीई के लक्ष्य बॉक्स में है और ढूँढें पर क्लिक करें। सेलेनियम आईडीई पासवर्ड लेबल तक पहुंचने में सक्षम होना चाहिए जैसा कि नीचे की छवि में दिखाया गया है।
चरण 3. इस बार, आंतरिक पाठ को "बोस्टन" से बदल दें, ताकि आपका लक्ष्य अब "सीएसएस = फ़ॉन्ट" बन जाए: जिसमें ("बोस्टन") है। ढूँढें पर क्लिक करें। आपको ध्यान देना चाहिए कि "बोस्टन टू सैन फ्रांसिस्को" लेबल हाइलाइट हो गया है। यह आपको दिखाता है कि सेलेनियम आईडीई एक लंबे लेबल तक पहुंच सकता है, भले ही आपने इसके आंतरिक पाठ के पहले शब्द का संकेत दिया हो।
DOM (दस्तावेज़ ऑब्जेक्ट मॉडल) द्वारा पता लगाना
दस्तावेज़ ऑब्जेक्ट मॉडल (DOM), सरल शब्दों में, वह तरीका है जिसके द्वारा HTML तत्वों को संरचित किया जाता है। सेलेनियम आईडीई पृष्ठ तत्वों तक पहुंचने में डोम का उपयोग करने में सक्षम है। यदि हम इस पद्धति का उपयोग करते हैं, तो हमारा लक्ष्य बॉक्स हमेशा "डोम = दस्तावेज़ ..." से शुरू होगा; हालाँकि, "डोम =" उपसर्ग को सामान्य रूप से हटा दिया जाता है क्योंकि सेलेनियम आईडीई स्वचालित रूप से किसी भी चीज़ की व्याख्या करने में सक्षम होता है जो कि "दस्तावेज़" से शुरू होता है, वैसे भी सेलेनियम में डोम के भीतर एक पथ हो सकता है।
सेलेनियम में DOM के माध्यम से एक तत्व का पता लगाने के चार मूल तरीके हैं:
- getElementById
- getElementsByName
- डोम: नाम (केवल एक नामित रूप में तत्वों पर लागू होता है)
- डोम: सूचकांक
DOM द्वारा पता लगाना - getElementById
आइए हम पहले विधि पर ध्यान दें - सेलेनियम में DOM के getElementById विधि का उपयोग करते हुए। वाक्य विन्यास होगा:
वाक्य - विन्यास |
विवरण |
---|---|
document.getElementById ("तत्व का आईडी") |
तत्व का आईडी = यह एक्सेस किए जाने वाले तत्व की आईडी विशेषता का मूल्य है। यह मान हमेशा कोष्ठक ("") की एक जोड़ी में संलग्न होना चाहिए। |
चरण 1. इस डेमो पेज का उपयोग करें http://demo.guru99.com/test/facebook.html इसे नेविगेट करें और "मुझे लॉग इन रखें" चेक बॉक्स का निरीक्षण करने के लिए फायरबग का उपयोग करें। इसकी आईडी पर ध्यान दें।
हम देख सकते हैं कि हमें जिस आईडी का उपयोग करना चाहिए वह "persist_box" है।
चरण 2. सेलेनियम आईडीई खोलें और लक्ष्य बॉक्स में, "document.getElementById (" persist_box ")" दर्ज करें और खोजें पर क्लिक करें। सेलेनियम आईडीई "मुझे लॉग इन रखें" चेक बॉक्स का पता लगाने में सक्षम होना चाहिए। यद्यपि यह चेक बॉक्स के आंतरिक भाग को उजागर नहीं कर सकता है, सेलेनियम आईडीई अभी भी एक उज्ज्वल हरी सीमा के साथ तत्व को घेर सकता है जैसा कि नीचे दिखाया गया है।
DOM द्वारा पता लगाना - getElementsByName
GetElementById विधि एक समय में केवल एक तत्व तक पहुंच सकती है, और यह वह आईडी है जो आपने निर्दिष्ट किया है। GetElementsByName विधि अलग है। यह उन तत्वों की एक सरणी एकत्र करता है जिनके नाम आपके द्वारा निर्दिष्ट हैं। आप एक इंडेक्स का उपयोग करके व्यक्तिगत तत्वों तक पहुंचते हैं जो 0 से शुरू होता है।
getElementById
|
||
getElementsByName
|
वाक्य - विन्यास |
विवरण |
---|---|
document.getElementsByName ("नाम") [सूचकांक] |
|
चरण 1. बुध टूर्स के होमपेज पर नेविगेट करें और उपयोगकर्ता नाम और पासवर्ड के रूप में "ट्यूटोरियल" का उपयोग करके लॉगिन करें। फ़ायरफ़ॉक्स आपको फ़्लाइट फ़ाइंडर स्क्रीन पर ले जाना चाहिए।
चरण 2. फायरबग का उपयोग करते हुए, पृष्ठ के निचले भाग में तीन रेडियो बटन का निरीक्षण करें (अर्थव्यवस्था वर्ग, व्यवसाय वर्ग और प्रथम श्रेणी बटन)। ध्यान दें कि उन सभी का एक ही नाम है जो "servClass" है।
चरण 3. हमें "अर्थव्यवस्था वर्ग" रेडियो बटन पहले एक्सेस करने दें। इन तीनों रेडियो बटनों में से, यह तत्व पहले आता है, इसलिए इसमें 0. का एक सूचकांक है। सेलेनियम आईडीई में, "document.getElementsByName (" servClass ") [0] टाइप करें और फाइंड बटन पर क्लिक करें। सेलेनियम आईडीई को इकोनॉमी क्लास रेडियो बटन की सही पहचान करने में सक्षम होना चाहिए।
चरण 4. इंडेक्स नंबर को 1 में बदलें ताकि आपका लक्ष्य अब document.getElementsByName ("servClass") [1] बन जाए। खोज बटन पर क्लिक करें, और सेलेनियम आईडीई "बिजनेस क्लास" रेडियो बटन को उजागर करने में सक्षम होना चाहिए, जैसा कि नीचे दिखाया गया है।
DOM - डोम: नाम से पता लगाना
जैसा कि पहले उल्लेख किया गया है, यह विधि केवल तभी लागू होगी जब आप जिस तत्व तक पहुंच रहे हैं वह एक नामित रूप में निहित है।
वाक्य - विन्यास |
विवरण |
---|---|
document.forms ["फॉर्म का नाम"] |
|
चरण 1. बुध पर्यटन होमपेज पर जाएँ (http://demo.guru99.com/test/newtours/) और उपयोगकर्ता नाम पाठ बॉक्स का निरीक्षण करने के लिए Firebug का उपयोग करें। ध्यान दें कि यह "घर" नाम के रूप में निहित है।
चरण 2. सेलेनियम आईडीई में, "document.forms [" home "] टाइप करें। तत्व [" userName "]" और "बटन खोजें पर क्लिक करें। सेलेनियम आईडीई को सफलतापूर्वक तत्व तक पहुंचने में सक्षम होना चाहिए।
DOM - डोम: इंडेक्स द्वारा पता लगाना
यह विधि तब भी लागू होती है जब तत्व एक नामित रूप में नहीं होता है क्योंकि यह प्रपत्र के सूचकांक का उपयोग करता है न कि उसके नाम का।
वाक्य - विन्यास |
विवरण |
---|---|
document.forms [प्रपत्र का सूचकांक] |
|
हम "टूर्स" टेक्स्ट बॉक्स को मर्करी टूर्स पंजीकरण पृष्ठ के भीतर एक्सेस करेंगे। उस पेज के फॉर्म में कोई नाम और आईडी विशेषता नहीं है, इसलिए यह एक अच्छा उदाहरण बना देगा।
चरण 1. बुध टूर्स पंजीकरण पृष्ठ पर नेविगेट करें और फोन टेक्स्ट बॉक्स का निरीक्षण करें। ध्यान दें कि इस फॉर्म में आईडी और नाम की कोई विशेषता नहीं है।
चरण 2. सेलेनियम आईडीई के लक्ष्य बॉक्स में "document.forms [0] .elements [3]" दर्ज करें और खोज बटन पर क्लिक करें। सेलेनियम आईडीई सही ढंग से फोन टेक्स्ट बॉक्स तक पहुंचने में सक्षम होना चाहिए।
चरण 3. वैकल्पिक रूप से, आप इसके सूचकांक के बजाय तत्व के नाम का उपयोग कर सकते हैं और समान परिणाम प्राप्त कर सकते हैं। सेलेनियम आईडीई के लक्ष्य बॉक्स में "document.forms [0] .elements [" फोन "]" दर्ज करें। फोन टेक्स्ट बॉक्स अभी भी हाइलाइट होना चाहिए।
एक्सपीथ द्वारा पता लगाना
एक्सपीथ एक्सएमएल (एक्सटेंसिबल मार्कअप लैंग्वेज) का पता लगाने के लिए इस्तेमाल की जाने वाली भाषा है। चूंकि HTML को XML के कार्यान्वयन के रूप में सोचा जा सकता है, इसलिए हम HTML तत्वों का पता लगाने में भी XPath का उपयोग कर सकते हैं।
लाभ: यह लगभग किसी भी तत्व तक पहुंच सकता है, यहां तक कि बिना वर्ग, नाम या आईडी विशेषताओं के भी।
नुकसान: यह कई अलग-अलग नियमों और विचारों के कारण तत्वों की पहचान करने का सबसे जटिल तरीका है।
सौभाग्य से, फायरबग स्वचालित रूप से XPath सेलेनियम लोकेटर उत्पन्न कर सकता है। निम्नलिखित उदाहरण में, हम एक ऐसी छवि का उपयोग करेंगे जो संभवतः उन तरीकों के माध्यम से एक्सेस नहीं की जा सकती है जिन्हें हमने पहले चर्चा की थी।
चरण 1. मर्करी टूर होमपेज पर नेविगेट करें और पीले "लिंक" बॉक्स के दाईं ओर नारंगी आयत का निरीक्षण करने के लिए फायरबग का उपयोग करें। नीचे दी गई छवि को देखें।
चरण 2 । तत्व के HTML कोड पर राइट क्लिक करें और फिर "कॉपी XPath" विकल्प चुनें।
स्टेप 3. सेलेनियम आईडीई में, टारगेट बॉक्स में एक फॉरवर्ड स्लैश "/" टाइप करें, फिर उस XPath को पेस्ट करें जिसे हमने पिछले चरण में कॉपी किया था। आपके लक्ष्य बॉक्स में प्रविष्टि अब दो फ़ॉरवर्ड स्लैश "//" से शुरू होनी चाहिए।
चरण 4 । फाइंड बटन पर क्लिक करें। सेलेनियम आईडीई नारंगी बॉक्स को उजागर करने में सक्षम होना चाहिए जैसा कि नीचे दिखाया गया है।
सारांश
लोकेटर उपयोग के लिए सिंटैक्स
तरीका |
लक्ष्य सिंटैक्स |
उदाहरण |
---|---|---|
आईडी द्वारा | id = id_of_the_element | आईडी = ईमेल |
नाम से | name = name_of_the_element | नाम = उपयोगकर्ता नाम |
फ़िल्टर का उपयोग करके नाम से | name = name_of_the_element फ़िल्टर = value_of_filter | name = tripType value = oneway |
लिंक पाठ द्वारा | लिंक = लिंक_टेक्स्ट | लिंक = पंजीकरणकर्ता |
टैग और आई.डी. | css = टैग # आईडी | css = input # ईमेल |
टैग और क्लास | css = टैग। कक्षा | css = input.inputtext |
टैग और विशेषता | सीएसएस = टैग [विशेषता = मूल्य] | सीएसएस = इनपुट [नाम = अंतिम नाम] |
टैग, कक्षा और गुण | css = टैग। वर्ग [विशेषता = मूल्य] | css = input.inputtext [tabindex = 1] |