paint-brush
पायथन और सेलेनियम के साथ वेब ऑटोमेशनद्वारा@terieyenike
33,331 रीडिंग
33,331 रीडिंग

पायथन और सेलेनियम के साथ वेब ऑटोमेशन

द्वारा Teri5m2022/09/10
Read on Terminal Reader
Read this story w/o Javascript

बहुत लंबा; पढ़ने के लिए

वेब ऑटोमेशन उन सर्वोत्तम तरीकों में से एक है जो कंपनियां विकास में किसी उत्पाद का परीक्षण कर सकती हैं, विशेष रूप से ऐप की कार्यक्षमता, जैसे क्लिक करना, स्क्रॉल करना और अन्य क्रियाएं। इस लेख में, हम सीखेंगे कि पायथन के साथ एक वेबसाइट का परीक्षण करने के लिए सेलेनियम को एक स्वचालन उपकरण के रूप में कैसे उपयोग किया जाए और ब्राउज़र पर माउस या कीबोर्ड का उपयोग किए बिना पूरी प्रक्रिया को स्वचालित किया जाए। सेलेनियम हमें एक मानव शामिल के बिना एक ब्राउज़र को ब्राउज़ करने या उपयोग करने की अनुमति देता है और एक उपयोगकर्ता इनपुट में टाइप करने और वेबसाइट के साथ बातचीत करने जैसी प्रक्रियाओं को स्वचालित करता है। उदाहरण के लिए, सेलेनियम के साथ फॉर्म सबमिशन को स्वचालित करना संभव है।
featured image - पायथन और सेलेनियम के साथ वेब ऑटोमेशन
Teri HackerNoon profile picture

वेब ऑटोमेशन उन सर्वोत्तम तरीकों में से एक है जो कंपनियां विकास में किसी उत्पाद का परीक्षण कर सकती हैं, विशेष रूप से ऐप की कार्यक्षमता, जैसे क्लिक करना, स्क्रॉल करना और अन्य क्रियाएं।

अनिवार्य रूप से, वेब ऑटोमेशन मानव क्रिया की नकल करने के बारे में है क्योंकि यह सुनिश्चित करना महत्वपूर्ण है कि सॉफ्टवेयर सभी प्रकार के उपयोगकर्ताओं के लिए काम करता है।

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

सेलेनियम किसके लिए प्रयोग किया जाता है?

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

शुरू करना

इससे पहले कि सेलेनियम कोड के माध्यम से किसी भी क्रिया को अंजाम दे सके, हमें ब्राउज़र ऑटोमेशन चलाने और इसे सहज बनाने में सक्षम होने के लिए पैकेज और टूल की आवश्यकता होती है।

इंस्टालेशन

इस खंड में, हम सेलेनियम पैकेज और वेबड्राइवर निष्पादन योग्य फ़ाइल स्थापित करते हैं। सबसे पहले, क्रोम ब्राउज़र के संस्करण की जांच करें ताकि यह वेबड्राइवर निष्पादन फ़ाइल के समान संस्करण के बराबर हो।

हमारे स्थानीय मशीन पर निम्नलिखित को स्थापित करने की आवश्यकता है:

क्रोम ब्राउज़र। इसे यहां डाउनलोड करें

ChromeDriver की नवीनतम स्थिर रिलीज़ डाउनलोड करें। क्रोमड्राइवर वेब पेज पर, यह पुष्टि करने के लिए जांचें कि क्रोम का संस्करण क्रोमड्राइवर के संस्करण से मेल खाता है

अब, अपने टर्मिनल में सेलेनियम को स्थापित करने के लिए यह कमांड चलाएँ:

 pip install selenium

एक वेब पेज को स्वचालित करना

शुरू करने के लिए, एक नया फ़ोल्डर बनाएं जिसमें फ़ाइल और डाउनलोड की गई ChromeDriver निष्पादन फ़ाइलें हों। सेलेनियम को ड्राइवर को चुने हुए ब्राउज़र के साथ इंटरफेस करने की आवश्यकता होती है, जो इस ट्यूटोरियल में, हम क्रोम ब्राउज़र का उपयोग कर रहे हैं।

क्रोमड्राइवर को उसी निर्देशिका में रखना आवश्यक है जिसमें पायथन फ़ाइल है।

परियोजना के लिए निर्देशिका इस तरह दिखनी चाहिए:

इस प्रोजेक्ट में क्रोमड्राइवर का उपयोग करने का दूसरा तरीका फ़ाइल का पथ स्थान ढूंढना और उसे कॉपी करना है, जो इस तरह दिखना चाहिए:

मैकबुक उपयोगकर्ता:

/उपयोगकर्ता/<कंप्यूटर उपयोगकर्ता नाम>/डेस्कटॉप/क्रोमड्राइवर

विंडोज उपयोगकर्ता:

सी:\उपयोगकर्ता\<कंप्यूटर उपयोगकर्ता नाम\डेस्कटॉप\क्रोमड्राइवर

वेबड्राइवर वह पुल है जो क्रोम ब्राउज़र के साथ काम करने के लिए सेलेनियम कोड को पाटता है। क्रोम ब्राउज़र ब्रिज प्रदान करता है। इसके बिना ऑटोमेशन संभव नहीं होगा।

इसके बाद, निम्नलिखित कोड को कॉपी और पेस्ट करें

 automation.py
फ़ाइल:

 # automation.py
from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys chrome_driver_path = './chromedriver'
service = Service(chrome_drive_path) driver = webdriver.Chrome(service=service) url = "https://en.wikipedia.org/wiki/Main_Page"
driver.get(url) article_count = driver.find_element(By.CSS_SELECTOR, "#articlecount a" ) print (article_count.text) drive.close()

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

  • सेलेनियम मॉड्यूल से फ़ंक्शन वेबड्राइवर आयात करें
  •  selenium.webdriver
    मॉड्यूल सभी वेबड्राइवर कार्यान्वयन प्रदान करता है, और सेवा वस्तु ब्राउज़र ड्राइवर को संभालने के लिए है
  •  By
    क्लास का उपयोग किसी वेब पेज के दस्तावेज़ के भीतर उसके सीएसएस वर्गों, आईडी आदि का उपयोग करके तत्वों का पता लगाने के लिए किया जाता है
  • कीज़ क्लास कीबोर्ड के कीप्रेस जैसे रिटर्न / एंटर, F1, Alt, और इसी तरह की क्रियाओं का अनुकरण करता है
  • क्रोमेड्राइवर निष्पादन फ़ाइल को एक चर में असाइन करें
  • ड्राइवर के निष्पादन योग्य पथ को सर्विस ऑब्जेक्ट पर कॉल करें
  • इसके बाद क्रोम ब्राउजर को इंस्टेंट करना है
     webdriver.Chrome()
    सेवा तर्क के साथ
  • जाँच करने के लिए वेब पेज के url को परिभाषित करें
  • का उपयोग करते हुए
     .get()
    विधि url द्वारा दिए गए पृष्ठ पर नेविगेट करेगी

विकिपीडिया पृष्ठ पर, उन तत्वों तक पहुँचने के लिए निरीक्षण तत्व खोलें जिनका उपयोग हम स्वचालन के लिए पृष्ठ से विवरण प्राप्त करने के लिए करेंगे।

अब लेख गिनती खोजने के कार्य के लिए। WebDriver हमें ऐसा करने का एक तरीका प्रदान करता है, जो तत्व को find_element विधि का उपयोग करके लक्षित करता है और का उपयोग करता है

 By.CSS_SELECTOR
चयनकर्ता नाम के साथ पहले पैरामीटर के रूप में,
 #articlecount a.


इससे पहले कि हम पायथन प्रोग्राम चलाएं, स्क्रिप्ट में विधि है,

 driver.close()
, जो परीक्षण चलाने के बाद ब्राउज़र विंडो को बंद कर देता है।

कमांड के साथ प्रोग्राम चलाएँ:

 python automation.py

टर्मिनल से परिणाम लेख संख्या प्रदर्शित करना चाहिए, जो वेब पेज पर सटीक आंकड़ा दिखाता है, 6,545,457

एक क्लिक क्रिया सिम्युलेट करना

हमने अब तक जो किया है, उससे यह स्पष्ट है कि सेलेनियम एक माउस के उपयोग या क्लिक के बिना एक वेबसाइट पर नेविगेट करता है।

अब, आइए एक क्रिया का अनुकरण करें जहां ब्राउज़र पृष्ठ पर एक लिंक के एक क्लिक पर प्रतिक्रिया करता है।

अपडेट करें

 automation.py
कोड की इन पंक्तियों के साथ:

 # automation.py # import modules contact_us = driver.find_element(By.LINK_TEXT, "Contact us" ) contact_us.click()

इस कोड स्निपेट के साथ, हम लिंक टेक्स्ट में तत्व ढूंढ रहे हैं, "हमसे संपर्क करें" के साथ

 By.LINK_TEXT
. तत्वों का पता लगाने के बाद, संलग्न करें
 contact_us
के साथ एक कार्रवाई के लिए
 .click()
तरीका।

फिर से, हम कमांड चलाते हैं:

 python automation.py


उपरोक्त आदेश हमसे संपर्क करें पृष्ठ का परिणाम देता है।

एक वेब पेज खोजें

सेलेनियम के साथ बहुत सारे उपयोग के मामले हैं। एक वेब पेज खोजना स्वचालन के साथ प्राप्त किया जा सकता है, जो आपको एक खोज शब्द के लिए परिणाम देता है।

फिर भी, उसी फ़ाइल में, Automation.py, इस कोड के साथ फ़ाइल को अपडेट करें:

 # automation.py search = driver.find_element(By.NAME, "search" ) search.send_keys( "React" , Keys.ENTER)

उपरोक्त कोड का उपयोग करके पिछले वाले के समान काम करता है

 find_element
इनपुट के नाम विशेषता के साथ विधि, search.

यह भी

 send_keys
ENTER कुंजी दबाकर अनुकरण करें, कीवर्ड प्रतिक्रिया खोजें

पृष्ठ का परिणाम इस तरह दिखना चाहिए:

निष्कर्ष

यह लेख वेब को स्वचालित करने के लिए पायथन में सेलेनियम का उपयोग करने का एक सिंहावलोकन है, विशेष रूप से पेशेवर डेवलपर्स के लिए जो यह जानना चाहते हैं कि क्या कोड में त्रुटियां हैं और उन्हें कैसे ठीक किया जाए।

वेब स्वचालन के लिए पायथन के साथ सेलेनियम का उपयोग करने की संभावनाएं अनंत हैं। कुछ उपयोग के मामलों में ऑनलाइन फॉर्म भरना, लिंक्डइन नौकरियों के लिए आवेदन करना, क्लिकर गेम खेलना आदि शामिल हैं। क्या आप सेलेनियम का उपयोग करने के लिए अन्य उपयोग के मामलों को जानते हैं?

कृपया नीचे दी गई टिप्पणियों में अपना पसंदीदा उपयोग केस साझा करें।

और अधिक जानें