Selenium Python वेबड्राइवर के साथ ट्यूटोरियल (उदाहरण)

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

Selenium साथ में Python वेबड्राइवर ऑटोमेशन लाइब्रेरी को इसके साथ जोड़ता है Python वेब अनुप्रयोगों का परीक्षण करने के लिए संक्षिप्त सिंटैक्स FirefoxChrome और Internet Explorer। यह गाइड कॉन्फ़िगरेशन प्रक्रिया को आसान बनाती है। PyDev in Eclipseलॉगिन स्क्रिप्ट लिखता है, और बताता है कि टीमें क्यों पसंद करती हैं Python के ऊपर Java.

  • 🐍 Python लाभ: Less विस्तृत वाक्य संरचना बनाती है Selenium स्क्रिप्ट को पढ़ना और बनाए रखना आसान हो जाता है।
  • 🌐 वेबड्राइवर: मानक आदेश भेजता है Firefoxब्राउज़र डिज़ाइन की परवाह किए बिना, Chrome और IE सभी ब्राउज़रों में काम करते हैं।
  • 🧩 PyDev सेटअप: स्थापित करें PyDev प्लग इन Eclipse और सेट करें Python दुभाषिया।
  • 📝 लॉगिन स्क्रिप्ट: आईडी द्वारा फ़ील्ड का पता लगाएं, कुंजी भेजें और फ़ॉर्म को स्वचालित रूप से सबमिट करें।
  • शीर्षक अभिकथन: WebDriverWait और assert का उपयोग लॉगिन के बाद पेज के शीर्षक को सत्यापित करने के लिए किया जाता है।
  • 🤖 एआई सहायता: एआई उपकरण लोकेटर उत्पन्न करते हैं और Selenium Python साधारण प्रॉम्प्ट से स्क्रिप्ट।

Selenium Python वेबड्राइवर के साथ ट्यूटोरियल

Selenium साथ में Python

Selenium का समर्थन करता है Python और इस प्रकार इसका उपयोग किया जा सकता है Selenium वेबड्राइवर के साथ Python परीक्षण के लिए।

  • Python अन्य प्रोग्रामिंग भाषाओं की तुलना में यह आसान है, क्योंकि इसका सिंटैक्स काफी कम जटिल है।
  • RSI Python एपीआई आपको ब्राउज़र से कनेक्ट करने की शक्ति प्रदान करते हैं Selenium.
  • Selenium मानक भेजता है Python ब्राउज़र डिज़ाइन में भिन्नता होने के बावजूद, विभिन्न ब्राउज़रों को कमांड भेजे जा सकते हैं।

तुम दौड़ सकते हो Selenium साथ में Python के लिए स्क्रिप्ट Firefoxक्रोम, आईई आदि को विभिन्न ऑपरेटिंग सिस्टम पर चलाया जा सकता है।

एचएमबी क्या है? Python?

Python यह एक उच्च स्तरीय ऑब्जेक्ट-ओरिएंटेड स्क्रिप्टिंग भाषा है। इसे उपयोगकर्ता के अनुकूल तरीके से डिज़ाइन किया गया है। Python इसमें सरल अंग्रेजी कीवर्ड का उपयोग किया गया है, जिन्हें समझना आसान है। इसमें अन्य किसी भी चीज़ की तुलना में वाक्य संरचना की जटिलताएं कम हैं। प्रोग्रामिंग भाषा.

नीचे दी गई तालिका में कुछ उदाहरण देखें।

खोजशब्द अर्थ प्रयोग
elif अन्यथा यदि अन्यथा यदि
अन्य अन्य यदि: X; यदि नहीं: Y; अन्यथा: J
सिवाय यदि कोई अपवाद उत्पन्न होता है तो ऐसा करें। ValueError को छोड़कर, a: प्रिंट a
कार्यकारी स्ट्रिंग को इस प्रकार चलाएँ Python निष्पादन 'प्रिंट “हैलो वर्ल्ड !”'

एचएमबी क्या है? Selenium?

Selenium यह आपके वेब एप्लिकेशन को टेस्ट करने का एक टूल है। आप इसे कई तरीकों से कर सकते हैं, उदाहरण के लिए:

  • इसे बटन दबाने की अनुमति दें।
  • फॉर्म में सामग्री दर्ज करें।
  • अपनी साइट पर सरसरी निगाह डालकर देखें कि क्या सब कुछ “ठीक” है इत्यादि।

कैसे स्थापित और कॉन्फ़िगर करें PyDev in Eclipse

PyDev विश्व का सबसे लोकप्रिय एंव Python विकास के लिए वातावरण Eclipse.

चरण 1) Eclipse मार्केटप्लेस। सहायता > नया सॉफ़्टवेयर इंस्टॉल करें।

स्थापित करें और कॉन्फ़िगर करें PyDev in Eclipse

अगला चरण "pydev IDE" को इंस्टॉल करना है। Eclipse.

चरण 2) इस चरण में:

  1. वर्क विद में “http://pydev.org/updates” खोजें, और फिर
  2. सूचीबद्ध सभी आइटम चुनें और दो बार 'अगला' पर क्लिक करें।
  3. लाइसेंस समझौते को स्वीकार करें और समाप्त करें पर क्लिक करें।

स्थापित करें और कॉन्फ़िगर करें PyDev in Eclipse

चरण 3) आपको सुरक्षा संबंधी चेतावनी मिल सकती है। "फिर भी इंस्टॉल करें" पर क्लिक करें।

स्थापित करें और कॉन्फ़िगर करें PyDev in Eclipse

चरण 4) प्राथमिकताएं निर्धारित करें ताकि आप उनका उपयोग कर सकें Python प्रोजेक्ट की आवश्यकता के अनुसार। विंडो > प्राथमिकताएँ > पर जाएँ PyDev > दुभाषिया > Python दुभाषिया।

स्थापित करें और कॉन्फ़िगर करें PyDev in Eclipse

डिफ़ॉल्ट सेट करें Python दुभाषिया, ठीक वैसे ही जैसे आपने सेट किया था Java चलाने के लिए कंपाइलर Java कोड। इंटरप्रेटर का नाम बदलने के लिए, "ब्राउज़ फ़ॉर पायथन/pypy exe" बटन पर क्लिक करें।

स्थापित करें और कॉन्फ़िगर करें PyDev in Eclipse

चरण 5) इस चरण में, “इंटरप्रेटर नाम” और “exe” फ़ाइल पथ दें Python.

  1. 'ब्राउज़' पर क्लिक करें और python.exe को उस स्थान पर खोजें जहाँ आपने इंस्टॉल किया था Python.
  2. 'ओके' बटन पर क्लिक करें.
  3. सभी फोल्डरों का चयन करें और ओके पर क्लिक करें।
  4. “लागू करें और बंद करें” पर क्लिक करें।

स्थापित करें और कॉन्फ़िगर करें PyDev in Eclipse

चरण 6) एक नया प्रोजेक्ट बनाएं Pythonइस चरण में:

  1. दाएँ क्लिक करें PyDev पैकेज एक्सप्लोरर > नया.
  2. अन्य विकल्प चुनें.

स्थापित करें और कॉन्फ़िगर करें PyDev in Eclipse

  1. "का चयन करेंPyDev > PyDev परियोजना"।
  2. 'अगला' बटन दबाएँ।

स्थापित करें और कॉन्फ़िगर करें PyDev in Eclipse

  1. अपनी परियोजना का नाम बताइए।
  2. "समाप्त" पर क्लिक करें।

स्थापित करें और कॉन्फ़िगर करें PyDev in Eclipse

आप नए को देख सकते हैं Python (PyDev) परियोजना बनाई गई है.

चरण 7) 'बनाने के बादPyDev प्रोजेक्ट', आप एक नया प्रोजेक्ट बनाएंगे Python पैकेज.

  1. प्रोजेक्ट > नया > पर राइट क्लिक करें PyDev पैकेज।
  2. अपने पैकेज का नाम दें और फिनिश पर क्लिक करें।

स्थापित करें और कॉन्फ़िगर करें PyDev in Eclipse

स्थापित करें और कॉन्फ़िगर करें PyDev in Eclipse

चरण 8) नीचे दिए गए स्क्रीनशॉट में देखें तो एक नया पैकेज बनाया गया है।

स्थापित करें और कॉन्फ़िगर करें PyDev in Eclipse

अगला, एक बनाएँ PyDev मॉड्यूल। मॉड्यूल में शामिल है Python आरंभिकरण के लिए फाइलें, जिनके कार्यों को किसी अन्य मॉड्यूल में आयात किया जा सकता है, जिससे प्रोग्राम को दोबारा लिखने से बचा जा सकता है।

चरण 9) कोई नया बनाएं PyDev मॉड्यूल पर राइट क्लिक करें। पैकेज > नया > PyDev मॉड्यूल।

स्थापित करें और कॉन्फ़िगर करें PyDev in Eclipse

अपने मॉड्यूल का नाम दें और "समाप्त करें" पर क्लिक करें।

स्थापित करें और कॉन्फ़िगर करें PyDev in Eclipse

खाली टेम्पलेट चुनें और "ओके" पर क्लिक करें।

स्थापित करें और कॉन्फ़िगर करें PyDev in Eclipse

चरण 10) अपना कोड लिखें Selenium साथ में Python के रूप में नीचे दिखाया गया है.

स्थापित करें और कॉन्फ़िगर करें PyDev in Eclipse

टेस्ट स्क्रिप्ट कैसे बनाएं? Selenium साथ में Python

इस में Selenium वेबड्राइवर के साथ Python उदाहरण के लिए, हमने "फेसबुक लॉगिन पेज" के लिए स्वचालन किया। Firefox चालक।

Selenium साथ में Python उदाहरण 1: फेसबुक में लॉग इन करें

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
user_name = "YOUR EMAILID"
password = "YOUR PASSWORD"
driver = webdriver.Firefox()
driver.get("https://www.facebook.com")
element = driver.find_element_by_id("email")
element.send_keys(user_name)
element = driver.find_element_by_id("pass")
element.send_keys(password)
element.send_keys(Keys.RETURN)
element.close()

का स्नैपशॉट Code

टेस्ट स्क्रिप्ट बनाएं Selenium साथ में Python

कोड की व्याख्या

  • Code पंक्ति 1: सेलेनियम मॉड्यूल से, वेबड्राइवर आयात करें।
  • Code पंक्ति 2: सेलेनियम मॉड्यूल से, Keys आयात करें।
  • Code पंक्ति 3: user_name एक वेरिएबल है जिसका उपयोग उपयोगकर्ता नाम का मान संग्रहीत करने के लिए किया जाता है।
  • Code पंक्ति 4: पासवर्ड के मान को संग्रहीत करने के लिए "पासवर्ड" नामक वेरिएबल का उपयोग किया जाएगा।
  • Code पंक्ति 5: आरंभ करेंFirefox” इसे एक वस्तु बनाकर।
  • Code पंक्ति 6: “driver.get” विधि ड्राइवर द्वारा दिए गए पृष्ठ पर नेविगेट करती है। URLवेबड्राइवर पेज के पूरी तरह लोड होने तक इंतजार करता है, उसके बाद ही वह आपके स्क्रिप्ट को नियंत्रण वापस देता है।
  • Code पंक्ति 7: उस टेक्स्टबॉक्स एलिमेंट को ढूंढें जहां "ईमेल" लिखना है।
  • Code पंक्ति 8: इन मानों को ईमेल अनुभाग में भेजें।
  • Code पंक्ति 9: पासवर्ड के लिए भी यही बात लागू होती है।
  • Code पंक्ति 10: पासवर्ड सेक्शन में मान भेजें।
  • Code पंक्ति 11: element.send_keys(Keys.RETURN) मान डालने के बाद एंटर दबाता है।
  • Code पंक्ति 12: बंद करे।

आउटपुट: उपयोगकर्ता नाम "guru99" और पासवर्ड के मान दर्ज किए गए हैं।

टेस्ट स्क्रिप्ट बनाएं Selenium साथ में Python

फेसबुक पेज ईमेल और पासवर्ड से लॉग इन होगा। पेज खुल गया (नीचे दी गई छवि देखें)।

टेस्ट स्क्रिप्ट बनाएं Selenium साथ में Python

Selenium साथ में Python उदाहरण 2: फेसबुक में लॉग इन करें और शीर्षक देखें

इस उदाहरण में, हम एक लॉगिन पेज खोलेंगे, आवश्यक फ़ील्ड "यूज़रनेम" और "पासवर्ड" भरेंगे, और पेज का शीर्षक देखेंगे।

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
# Step 1) Open Firefox
browser = webdriver.Firefox()
# Step 2) Navigate to Facebook
browser.get("http://www.facebook.com")
# Step 3) Search & Enter the Email or Phone field & Enter Password
username = browser.find_element_by_id("email")
password = browser.find_element_by_id("pass")
submit   = browser.find_element_by_id("loginbutton")
username.send_keys("YOUR EMAILID")
password.send_keys("YOUR PASSWORD")
# Step 4) Click Login
submit.click()
wait = WebDriverWait( browser, 5 )
page_title = browser.title
assert page_title == "Facebook"

कोड का स्नैपशॉट

टेस्ट स्क्रिप्ट बनाएं Selenium साथ में Python

कोड का स्पष्टीकरण:

  • Code पंक्ति 1-2: सेलेनियम पैकेज आयात करें।
  • Code पंक्ति 4: हस्ताक्षर करना Firefox एक ऑब्जेक्ट बनाकर।
  • Code पंक्ति 6: लॉगिन पेज प्राप्त करें (फेसबुक)।
  • Code पंक्ति 8-10: उपयोगकर्ता नाम, पासवर्ड इनपुट बॉक्स और सबमिट बटन को फ़ेच करें।
  • Code पंक्ति 11-12: उपयोगकर्ता नाम और पासवर्ड इनपुट बॉक्स में डेटा दर्ज करें।
  • Code पंक्ति 14: "सबमिट" बटन पर क्लिक करें।
  • Code पंक्ति 15: 5 सेकंड के टाइमआउट के साथ एक वेट ऑब्जेक्ट बनाएं।
  • Code पंक्ति 16: “ब्राउज़र” ऑब्जेक्ट से शीर्षक प्राप्त करें।
  • Code पंक्ति 17: कैप्चर किए गए टाइटल स्ट्रिंग को "फेसबुक" के साथ टेस्ट करें।

क्यों चुनें? Python के ऊपर Java in Selenium

कुछ ऐसे बिंदु जो इसके पक्ष में हैं Python के ऊपर Java के साथ उपयोग करने के लिए Selenium यह है:

  1. Java कार्यक्रम अन्य की तुलना में धीमी गति से चलते हैं Python कार्यक्रम.
  2. Java ब्लॉक शुरू करने और समाप्त करने के लिए पारंपरिक ब्रेसेस का उपयोग करता है, जबकि Python इंडेंटेशन का उपयोग करता है.
  3. Java स्थिर टाइप का उपयोग करता हैping, जबकि Python गतिशील रूप से टाइप किया गया है.
  4. Python की तुलना में सरल और अधिक कॉम्पैक्ट है Java.

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

pip install selenium कमांड चलाएँ। आधुनिक Selenium जहाजों के साथ Selenium मैनेजर, जो स्वचालित रूप से उपयुक्त ब्राउज़र ड्राइवर डाउनलोड करता है, इसलिए किसी भी मैन्युअल क्रोमड्राइवर सेटअप की आवश्यकता नहीं होती है।

वेबड्राइवर है Selenium एक इंटरफ़ेस जो वास्तविक ब्राउज़र को संचालित करता है, और उसे कमांड भेजता है। Firefoxनेविगेशन, क्लिक और फॉर्म इनपुट को नियंत्रित करने के लिए Chrome या Edge का उपयोग करें।

Selenium 4. find_element_by_id हटा दिया गया है। By क्लास का उपयोग करें: from selenium.webdriver.common.by import By, then driver.find_element(By.ID, “email”).

इम्प्लिसिट वेट एक निश्चित समय के लिए DOM की जाँच करता है। एक्सप्लिसिट वेट (WebDriverWait) किसी विशिष्ट शर्त के पूरा होने तक रुका रहता है। अप्रत्याशित समय से बचने के लिए इन दोनों को मिलाने से बचें।

नहीं. PyDev in Eclipse यह एक विकल्प है। आप इसे चला भी सकते हैं। Selenium Python स्क्रिप्ट में PyCharm, VS Codeया फिर कमांड लाइन से।

Selenium वेबड्राइवर समर्थन करता है Firefoxक्रोम, एज, सफारी और इंटरनेट एक्सप्लोरर। वही Python स्क्रिप्ट स्वैप के माध्यम से उन पर चलती हैping चालक।

जी हां। चैटजीपीटी जैसे एआई सहायक एक साधारण भाषा में लिखे गए परीक्षण विवरण को बदल देते हैं। Selenium Python कोड, लोकेटर सुझाएं, और पुराने find_element_by_id कॉल को By सिंटैक्स में परिवर्तित करें।

जी हां। GitHub Copilot स्थिर लोकेटर सुझाता है, NoSuchElementException त्रुटियों की व्याख्या करता है, और स्पष्ट प्रतीक्षा की अनुशंसा करता है, जिससे गतिशील पृष्ठों पर अस्थिर परीक्षणों की समस्या कम हो जाती है।

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