CSS चयनकर्ता Selenium

⚡ स्मार्ट सारांश

CSS चयनकर्ता Selenium यह एक शक्तिशाली लोकेटर रणनीति है जो HTML टैग, ID, क्लास, एट्रिब्यूट और आंतरिक टेक्स्ट पैटर्न का उपयोग करके तत्वों की पहचान करती है। यह संसाधन CSS सिलेक्टर के प्रत्येक प्रकार को चरण-दर-चरण उदाहरणों के साथ समझाता है। Selenium आईडीई।

  • 🆔 टैग और आईडी: किसी HTML टैग को # उपसर्ग के साथ संयोजित करके उन तत्वों को सटीक रूप से लक्षित किया जा सकता है जिनमें एक अद्वितीय ID विशेषता होती है।
  • 🎯 टैग और क्लास: एक ही सीएसएस क्लास साझा करने वाले तत्वों का पता लगाने के लिए डॉट (.) सिंटैक्स का उपयोग करें, जो दोहराए जाने वाले यूआई घटकों के लिए उपयोगी है।
  • 🧩 टैग और विशेषता: नाम, प्रकार या किसी भी कस्टम एट्रिब्यूट जोड़ी के माध्यम से तत्वों की पहचान करने के लिए [attribute=value] ब्रैकेट का उपयोग करें।
  • 🪜 टैग, क्लास और एट्रीब्यूट: क्लास नाम और एट्रिब्यूट मान दोनों साझा करने वाले तत्वों को अलग करने के लिए कई शर्तों को एक साथ रखें।
  • 🔤 आंतरिक पाठ मिलान: आईडी, नाम या क्लास के बिना लेबल और तत्वों का पता लगाने के लिए :contains(“text”) पैटर्न का उपयोग करें।
  • सर्वश्रेष्ठ प्रणालियां: गहरे नेस्टेड सिलेक्टर्स की बजाय स्थिर आईडी को प्राथमिकता दें ताकि डेटा सुरक्षित रहे। Selenium ऑटोमेशन स्क्रिप्ट यूजर इंटरफेस में होने वाले बदलावों के प्रति प्रतिरोधी होती हैं।

CSS चयनकर्ता Selenium

सीएसएस सेलेक्टर क्या है? Selenium?

A CSS चयनकर्ता Selenium CSS सिलेक्टर्स एक स्ट्रिंग पैटर्न है जो HTML टैग, आईडी, क्लास और एट्रिब्यूट्स के संयोजन के माध्यम से एक वेब एलिमेंट की पहचान करता है। CSS सिलेक्टर्स आईडी या नाम द्वारा खोजने की तुलना में थोड़े अधिक उन्नत हैं, लेकिन अनुभवी उपयोगकर्ताओं के बीच यह सबसे लोकप्रिय रणनीति है। Selenium उपयोगकर्ता उन तत्वों तक पहुंच सकते हैं जिनमें कोई आईडी या नाम विशेषता नहीं होती है।

CSS चयनकर्ता Selenium ये कई रूपों में आते हैं, लेकिन यह गाइड पाँच सबसे आम पैटर्न पर केंद्रित है जिनका उपयोग किया जाता है Selenium आईडीई:

  • टैग और आईडी
  • टैग और वर्ग
  • टैग और विशेषता
  • टैग, वर्ग और विशेषता
  • आंतरिक पाठ

इस रणनीति का उपयोग करते समय Selenium IDE, हमेशा उपसर्ग लगाएं Target बॉक्स के साथ “सीएसएस=जैसा कि नीचे दिए गए प्रत्येक उदाहरण में दिखाया गया है।

CSS सिलेक्टर्स का उपयोग क्यों करें? Selenium?

कई क्षेत्रों में CSS सिलेक्टर्स पसंदीदा लोकेटर रणनीति हैं। Selenium स्वचालन इंजीनियर इसलिए बेहतर होते हैं क्योंकि वे गति, लचीलापन और पठनीयता के बीच संतुलन बनाए रखते हैं। आधुनिक वेब एप्लिकेशन अक्सर गतिशील रूप से उत्पन्न आईडी का उपयोग करते हैं या नाम एट्रिब्यूट को पूरी तरह से हटा देते हैं, जिससे पृष्ठ पर किसी विशिष्ट तत्व को लक्षित करने का एकमात्र विश्वसनीय तरीका सीएसएस सिलेक्टर ही रह जाता है।

सीएसएस सिलेक्टर्स का उपयोग करने के मुख्य लाभों में निम्नलिखित शामिल हैं:

  • प्रदर्शन: CSS सिलेक्टर्स को ब्राउज़र के नेटिव इंजन द्वारा प्रोसेस किया जाता है, इसलिए वे समकक्ष XPath एक्सप्रेशंस की तुलना में तेज़ी से एग्जीक्यूट होते हैं, खासकर इंटरनेट एक्सप्लोरर जैसे पुराने ब्राउज़रों में।
  • लचीलापन: वे टैग, क्लास, एट्रीब्यूट और पार्शियल-मैच लॉजिक को मिलाकर टेस्टर्स को उन एलिमेंट्स को टारगेट करने की सुविधा देते हैं जिनमें स्टेबल आईडी नहीं होती है।
  • पठनीयता: इसका सिंटैक्स उसी तरह का है जैसे डेवलपर पहले से ही CSS नियम लिखते हैं, जिससे QA इंजीनियरों और फ्रंट-एंड टीमों दोनों के लिए सीखने की प्रक्रिया आसान हो जाती है।
  • क्रॉस-ब्राउज़र स्थिरता: CSS सिलेक्टर क्रोम में लगातार एक समान व्यवहार करते हैं। FirefoxEdge और Safari में, अस्थिर परीक्षण विफलताओं को कम किया जा सकता है।

टैग और आईडी – सीएसएस चयनकर्ता

इस उदाहरण में फेसबुक लॉगिन पेज पर ईमेल टेक्स्ट बॉक्स का उपयोग किया गया है। इस एलिमेंट की आईडी “ है।ईमेलऔर इसे पहले ही "आईडी द्वारा स्थान निर्धारण" अनुभाग में एक्सेस किया जा चुका था। अब उसी तत्व को एक का उपयोग करके लक्षित किया जाता है। Selenium आईडी विशेषता वाला सीएसएस चयनकर्ता।

वाक्य - विन्यास

css=tag#id

  • टैग = एक्सेस किए जा रहे तत्व का HTML टैग
  • # = हैश चिह्न, जो किसी भी स्थिति में हमेशा मौजूद होना चाहिए। Selenium आईडी के साथ CSS चयनकर्ता
  • id = एक्सेस किए जा रहे तत्व की आईडी

ध्यान रखें कि आईडी के पहले हमेशा हैश चिह्न (#) लगा होता है।

चरण 1) पर जाए www.facebook.comअपने ब्राउज़र के डेवलपर टूल्स (या फायरबग जैसे किसी पुराने टूल) का उपयोग करके, "ईमेल या फ़ोन" टेक्स्ट बॉक्स की जांच करें।

ध्यान दें कि एचटीएमएल टैग “ हैनिवेशऔर इसकी आईडी है “ईमेलइसलिए संपूर्ण सीएसएस चयनकर्ता इस प्रकार हो जाता है:सीएसएस=इनपुट#ईमेल".

टैग और आईडी - सीएसएस चयनकर्ता Selenium

चरण 2) दर्ज "सीएसएस=इनपुट#ईमेल" में Target का डिब्बा Selenium IDE पर जाएं और खोजें बटन पर क्लिक करें। Selenium IDE पृष्ठ पर संबंधित तत्व को हाइलाइट करता है।

Selenium टैग और आईडी के माध्यम से ईमेल फ़ील्ड को हाइलाइट करने वाला IDE

टैग और क्लास – सीएसएस चयनकर्ता

एक सीएसएस चयनकर्ता Selenium जो एचटीएमएल टैग और क्लास नाम का उपयोग करता है, वह टैग और आईडी के समान ही विचार का अनुसरण करता है, लेकिन हैश चिह्न के स्थान पर एक बिंदु (.) का उपयोग किया जाता है।

वाक्य - विन्यास

css=tag.class

  • टैग = एक्सेस किए जा रहे तत्व का HTML टैग
  • . = बिंदु चिह्न, जो क्लास वाले CSS सिलेक्टर का उपयोग करते समय हमेशा मौजूद होना चाहिए।
  • वर्ग = जिस तत्व तक पहुँचा जा रहा है उसका वर्ग

चरण 1) डेमो पेज खोलें https://demo.guru99.com/test/facebook.html और “ईमेल या फ़ोन” टेक्स्ट बॉक्स की जाँच करें। ध्यान दें कि HTML टैग “ हैनिवेशऔर इसका वर्ग है “इनपुट टेक्स्ट".

टैग और क्लास - सीएसएस चयनकर्ता Selenium

चरण 2) In Selenium IDE, दर्ज करें “सीएसएस=इनपुट.इनपुटटेक्स्ट" में Target बॉक्स पर क्लिक करें और खोजें पर क्लिक करें. Selenium IDE ईमेल या फ़ोन टेक्स्ट बॉक्स को पहचानता है।

Selenium टैग और क्लास के आधार पर एलिमेंट का पता लगाने वाला IDE

ध्यान दें कि जब कई तत्व एक ही HTML टैग और क्लास साझा करते हैं, तो स्रोत कोड में केवल पहला मेल खाने वाला तत्व ही पहचाना जाता है। उसी पृष्ठ पर पासवर्ड टेक्स्ट बॉक्स का निरीक्षण करें और ध्यान दें कि यह ईमेल या फ़ोन टेक्स्ट बॉक्स के समान क्लास साझा करता है।

एक ही टैग और क्लास साझा करने वाले कई तत्व

पिछले उदाहरण में केवल ईमेल या फ़ोन टेक्स्ट बॉक्स को ही हाइलाइट किया गया था क्योंकि यह पेज सोर्स में सबसे पहले दिखाई देता है।

पृष्ठ स्रोत क्रम निर्धारण Selenium मैच

टैग और एट्रीब्यूट – सीएसएस सेलेक्टर

इस रणनीति में एक एचटीएमएल टैग को उस एलिमेंट से संबंधित एक विशिष्ट एट्रीब्यूट के साथ जोड़ा जाता है जिसे आप एक्सेस करना चाहते हैं।

वाक्य - विन्यास

css=tag[attribute=value]

  • टैग = एक्सेस किए जा रहे तत्व का HTML टैग
  • [ और ] = वर्ग कोष्ठक जो विशेषता और उसके संबंधित मान को घेरते हैं
  • विशेषता = उपयोग की जाने वाली विशेषता। ऐसी विशेषता चुनें जो तत्व के लिए अद्वितीय हो, जैसे नाम या आईडी।
  • मूल्य = चुनी गई विशेषता का संगत मूल्य.

चरण 1) पर नेविगेट करें Mercury टूर पंजीकरण पृष्ठ https://demo.guru99.com/test/newtours/register.php और "अंतिम नाम" टेक्स्ट बॉक्स की जांच करें। इसके HTML टैग ("input") और इसके नाम एट्रिब्यूट ("lastName") पर ध्यान दें।

टैग और एट्रीब्यूट - सीएसएस सेलेक्टर Selenium

चरण 2) In Selenium IDE, दर्ज करें “सीएसएस=इनपुट[नाम=अंतिमनाम]" में Target बॉक्स पर क्लिक करें और खोजें पर क्लिक करें. Selenium IDE ने अंतिम नाम फ़ील्ड को सफलतापूर्वक ढूंढ लिया है।

Selenium IDE विशेषता के माध्यम से अंतिम नाम का पता लगा रहा है

जब कई तत्व एक ही HTML टैग और विशेषता साझा करते हैं, तो केवल पहले वाले को ही पहचाना जाता है। यह व्यवहार समान टैग और क्लास वाले तत्वों का पता लगाने के समान है।

टैग, क्लास और एट्रीब्यूट – सीएसएस सेलेक्टर

वाक्य - विन्यास

css=tag.class[attribute=value]

  • टैग = एक्सेस किए जा रहे तत्व का HTML टैग
  • . = बिंदु चिह्न, जो क्लास वाले CSS सिलेक्टर का उपयोग करते समय हमेशा मौजूद होना चाहिए।
  • वर्ग = जिस तत्व तक पहुँचा जा रहा है उसका वर्ग
  • [ और ] = वर्गाकार कोष्ठक जो किसी विशिष्ट विशेषता और उसके संबंधित मान को घेरते हैं
  • विशेषता = उपयोग की जाने वाली विशेषता। ऐसी विशेषता चुनें जो तत्व के लिए अद्वितीय हो, जैसे नाम या आईडी।
  • मूल्य = चुनी गई विशेषता का संगत मूल्य.

चरण 1) डेमो पेज खोलें https://demo.guru99.com/test/facebook.html और “ईमेल या फ़ोन” और “पासवर्ड” इनपुट बॉक्स की जाँच करें। उनके HTML टैग, क्लास और एट्रिब्यूट पर ध्यान दें। इस उदाहरण में “ का उपयोग किया गया है।टैबइंडेक्स" गुण।

टैग, वर्ग और विशेषता - CSS चयनकर्ता

चरण 2) सबसे पहले tabindex मान 1 का उपयोग करके “ईमेल या फ़ोन” टेक्स्ट बॉक्स में प्रवेश करें। “ दर्ज करेंसीएसएस=इनपुट.इनपुटटेक्स्ट[tabindex=1]में है Selenium आईडीई का Target बॉक्स में जाकर फाइंड पर क्लिक करें। ईमेल या फ़ोन फ़ील्ड हाइलाइट हो जाएगा।

Selenium टैग, क्लास और एट्रिब्यूट के आधार पर ईमेल का पता लगाने वाला IDE

चरण 3) पासवर्ड इनपुट बॉक्स को लक्षित करने के लिए, बस tabindex मान को बदलें। “ दर्ज करेंसीएसएस=इनपुट.इनपुटटेक्स्ट[tabindex=2]" में Target बॉक्स पर क्लिक करें और खोजें पर क्लिक करें. Selenium IDE ने पासवर्ड टेक्स्ट बॉक्स को सफलतापूर्वक ढूंढ लिया है।

Selenium टैग, क्लास और एट्रिब्यूट के आधार पर पासवर्ड का पता लगाने वाला IDE

आंतरिक पाठ – सीएसएस चयनकर्ता

HTML लेबल में शायद ही कभी id, name या class एट्रिब्यूट दिए जाते हैं। तो आप उन्हें कैसे एक्सेस करेंगे? Seleniumइसका उत्तर उनके आंतरिक पाठ में निहित है। आंतरिक टेक्स्ट वे वास्तविक स्ट्रिंग पैटर्न होते हैं जिन्हें HTML लेबल पेज पर प्रदर्शित करता है।

वाक्य - विन्यास

css=tag:contains("inner text")

  • टैग = एक्सेस किए जा रहे तत्व का HTML टैग
  • आंतरिक पाठ = तत्व की दृश्यमान पाठ सामग्री

चरण 1) पर नेविगेट करें Mercury टूर्स होमपेज https://demo.guru99.com/test/newtours/ और "पासवर्ड" लेबल की जांच करें। इसके HTML टैग (इस मामले में "फ़ॉन्ट") पर ध्यान दें और देखें कि इस एलिमेंट में कोई क्लास, आईडी या नाम विशेषताएँ नहीं हैं।

आंतरिक पाठ - सीएसएस चयनकर्ता निरीक्षण

चरण 2) प्रकार css=फ़ॉन्ट:contains(“पासवर्ड:”) में Selenium आईडीई का Target बॉक्स पर क्लिक करें और खोजें पर क्लिक करें. Selenium IDE नीचे दिखाए अनुसार पासवर्ड लेबल का पता लगाता है।

Selenium आंतरिक पाठ के आधार पर पासवर्ड लेबल का पता लगाने वाला IDE

चरण 3) इस बार, आंतरिक पाठ को "बोस्टन" से बदलें ताकि Target बन जाता है “css=font:contains(“बोस्टन”)“फाइंड पर क्लिक करें। “बोस्टन से सैन फ्रांसिस्को” लेबल हाइलाइट हो जाएगा, जिससे पता चलेगा कि Selenium IDE किसी लंबे लेबल का पता तब भी लगा सकता है जब उसके आंतरिक पाठ का केवल पहला शब्द ही दिया गया हो।

Selenium IDE आंशिक आंतरिक पाठ मिलान

CSS सिलेक्टर बनाम XPath Selenium

वेब तत्वों की पहचान करने के लिए CSS सिलेक्टर्स और XPath दोनों का उपयोग किया जाता है। Seleniumफिर भी, उनकी खूबियाँ अलग-अलग हैं। नीचे दी गई तालिका प्रमुख आयामों पर दोनों लोकेटर रणनीतियों की तुलना करती है:

मापदंड सीएसएस चयनकर्ता एक्सपाथ
गति तेज़, ब्राउज़र के नेटिव इंजन पर चलता है विशेष रूप से पुराने ब्राउज़रों में धीमा।
नेतृत्व केवल आगे भेजें (माता-पिता से बच्चे को) आगे और पीछे (बच्चे से माता-पिता तक)
वाक्य - विन्यास संक्षिप्त और CSS नियमों के समान लंबे, पदानुक्रमित पथ अभिव्यक्तियाँ
पाठ मिलान :contains() छद्म-वर्ग तक सीमित मजबूत text() और contains() फ़ंक्शन
के लिए सबसे अच्छा स्थैतिक लेआउट और आधुनिक वेब ऐप्स जटिल DOM ट्रैवर्सल और टेक्स्ट-आधारित लोकेटर

सीएसएस सिलेक्टर्स लिखने के लिए सर्वोत्तम अभ्यास Selenium

विश्वसनीय CSS सिलेक्टर्स लिखना केवल सिंटैक्स जानने से कहीं अधिक है। निम्नलिखित अभ्यास परीक्षकों को स्थिर और रखरखाव योग्य CSS सिलेक्टर्स बनाने में मदद करते हैं। Selenium वे स्क्रिप्ट जो यूजर इंटरफेस में बदलाव के बाद भी बनी रहती हैं:

  1. अद्वितीय विशेषताओं को प्राथमिकता दें: ऑटोमेशन के लिए स्पष्ट रूप से जोड़े गए id, data-test-id या name एट्रिब्यूट को ही चुनें। विज़ुअल लेआउट बदलने पर भी ये स्थिर रहते हैं।
  2. अत्यधिक नेस्टेड सेलेक्टर से बचें: लंबी श्रृंखलाएँ जैसे div > div > ul > li > a डेवलपर्स द्वारा मार्कअप को रिफैक्टर करते समय इसमें आसानी से त्रुटियां आ सकती हैं। इसलिए सिलेक्टर्स को यथासंभव छोटा रखें।
  3. आंशिक मिलान का बुद्धिमानी से उपयोग करें: पैटर्न जैसे [class*="btn-primary"] क्लास के नाम में छोटे-मोटे बदलावों को सहन किया जा सकता है, लेकिन वे अनपेक्षित तत्वों से भी मेल खा सकते हैं।
  4. इंडेक्स-आधारित लोकेटरों से बचें: जैसे चयनकर्ता nth-child(3) ये नाजुक होते हैं क्योंकि एक सहोदर तत्व जोड़ने से हर स्थिति बदल जाती है।
  5. DevTools में चयनकर्ताओं को मान्य करें: दौड़ने से पहले Selenium स्क्रिप्ट का उपयोग करके, सेलेक्टर को क्रोम डेवलपर टूल्स कंसोल में पेस्ट करें। document.querySelector() यह पुष्टि करने के लिए कि यह ठीक एक ही तत्व लौटाता है।
  6. विशिष्टता के लिए विशेषताओं को संयोजित करें: जब एक क्लास कई तत्वों द्वारा साझा की जाती है, तो एक एट्रिब्यूट फ़िल्टर जोड़ें जैसे कि input.form-control[name="email"] लक्ष्य को स्पष्ट करने के लिए।
  7. दस्तावेज़ तैयार करें और पुनः उपयोग करें: पेज ऑब्जेक्ट क्लास के अंदर सिलेक्टर्स को केंद्रीकृत करें ताकि एक ही अपडेट उन सभी टेस्ट को ठीक कर दे जो एक ही एलिमेंट को संदर्भित करते हैं।

इन दिशानिर्देशों का पालन करने से अस्थिरता कम होती है, परीक्षण निष्पादन की गति में सुधार होता है और Selenium समय के साथ सुइट्स का रखरखाव करना आसान हो जाता है।

सारांश: सीएसएस सिलेक्टर सिंटैक्स का त्वरित संदर्भ

नीचे दी गई तालिका में सभी का संकलन किया गया है। Selenium इस गाइड में CSS सिलेक्टर पैटर्न को शामिल किया गया है:

विधि Target वाक्य - विन्यास उदाहरण
टैग और आईडी सीएसएस=टैग#आईडी सीएसएस=इनपुट#ईमेल
टैग और वर्ग सीएसएस=टैग.क्लास सीएसएस=इनपुट.इनपुटटेक्स्ट
टैग और विशेषता सीएसएस=टैग[विशेषता=मूल्य] सीएसएस=इनपुट[नाम=अंतिमनाम]
टैग, वर्ग और विशेषता सीएसएस=tag.class[विशेषता=मूल्य] सीएसएस=इनपुट.इनपुटटेक्स्ट[tabindex=1]
आंतरिक पाठ css=tag:contains(“text”) css=फ़ॉन्ट:contains(“पासवर्ड:”)

अक्सर पूछे जाने वाले प्रश्न

हाँ। CSS सिलेक्टर्स आमतौर पर XPath की तुलना में तेज़ी से काम करते हैं क्योंकि ब्राउज़र CSS नियमों को स्वाभाविक रूप से प्रोसेस करते हैं। यह अंतर इंटरनेट एक्सप्लोरर के पुराने संस्करणों में सबसे ज़्यादा स्पष्ट होता है, जबकि क्रोम जैसे आधुनिक ब्राउज़रों में यह अंतर कम दिखता है। Firefox अंतर को कम करें।

हाँ। सीएसएस सिलेक्टर इसके लिए लिखे गए हैं। Selenium IDE सीधे काम करता है Selenium वेबड्राइवर के माध्यम से By.cssSelector()अंतर सिर्फ इतना है कि वेबड्राइवर को "css=" उपसर्ग की आवश्यकता नहीं होती है, क्योंकि लोकेटर प्रकार को विधि द्वारा ही निर्दिष्ट किया जाता है।

नहीं। फायरबग को 2017 में बंद कर दिया गया था, क्योंकि इसका विलय हो गया था। Firefox डेवलपर टूल्स। आजकल, टेस्टर क्रोम में मौजूद बिल्ट-इन डेवलपर टूल्स का उपयोग करते हैं। Firefoxएलिमेंट्स को जोड़ने से पहले उनका निरीक्षण करने और CSS सिलेक्टर्स को मान्य करने के लिए Edge का उपयोग करें। Selenium स्क्रिप्ट।

हाँ। एआई-संचालित उपकरण जैसे कि TestimMabl और ChatGPT, DOM का विश्लेषण करके CSS सिलेक्टर्स का सुझाव दे सकते हैं। ये डेवलपर्स द्वारा क्लास का नाम बदलने या पेज की संरचना में बदलाव करने पर सिलेक्टर्स को अनुकूलित करके रखरखाव के प्रयासों को कम करते हैं।

कृत्रिम बुद्धिमत्ता (AI) द्वारा संचालित स्व-उपचार इंजन आसपास के DOM का विश्लेषण करते हैं और टूटे हुए लोकेटरों से स्वचालित रूप से ठीक हो जाते हैं। जब कोई CSS सिलेक्टर विफल हो जाता है, तो इंजन विशेषता समानता, पाठ सामग्री और ऐतिहासिक पैटर्न का उपयोग करके निकटतम मिलान तत्व की पहचान करता है, जिससे परीक्षण स्थिरता बहाल हो जाती है।

आंशिक-मिलान पैटर्न का उपयोग करें जैसे कि [id^="user_"] उपसर्गों के लिए, [id$="_btn"] प्रत्ययों के लिए, या [id*="cart"] सबस्ट्रिंग के लिए। ये पैटर्न सटीक मान की आवश्यकता के बिना गतिशील रूप से उत्पन्न आईडी से मेल खाते हैं।

CSS सिलेक्टर्स चाइल्ड एलिमेंट से पैरेंट एलिमेंट तक ऊपर की ओर ट्रैवर्स नहीं कर सकते और इनमें टेक्स्ट मैचिंग सपोर्ट भी सीमित है। इन स्थितियों में XPath बेहतर विकल्प है। CSS में एडजसेंट और जनरल सिबलिंग्स से परे सिबलिंग लॉजिक के लिए बिल्ट-इन फंक्शन्स की भी कमी है।

ब्राउज़र के DevTools को खोलें, कंसोल टैब पर जाएं और चलाएं document.querySelectorAll("your-selector")लौटाई गई नोडलिस्ट में सभी मेल खाने वाले तत्व दिखाए जाते हैं। एक विश्वसनीय Selenium यूनिक टारगेटिंग के लिए लोकेटर को ठीक एक ही एलिमेंट लौटाना चाहिए।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: