Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में प्रॉक्सी के साथ Selenium Webdriver चलाना

हम पायथन में Selenium webdriver के साथ प्रॉक्सी चला सकते हैं। प्रॉक्सी स्थानीयकरण परीक्षण (localization testing) करने के लिए एक आवश्यक घटक है। हम एक ई-कॉमर्स एप्लिकेशन ले सकते हैं और जांच सकते हैं कि क्या उपयोगकर्ता स्थान के अनुसार भाषा और मुद्रा दृश्यमान है।

परीक्षणों के भीतर प्रॉक्सी की मदद से, हम सत्यापित कर सकते हैं कि वेबसाइट उपयोगकर्ता इंटरफेस स्थान से मेल खाता है या नहीं। हमें नीचे दिए गए चरणों के साथ प्रॉक्सी सेट करना होगा:

  • Selenium पैकेज से webdriver इम्पोर्ट करें
  • प्रॉक्सी सर्वर पता परिभाषित करें
  • ChromeOptions क्लास का ऑब्जेक्ट बनाएं
  • प्रॉक्सी के साथ ChromeOptions का संचार
  • Chrome() ऑब्जेक्ट में विकल्प जोड़ें

उदाहरण

कोड कार्यान्वयन:

from selenium import webdriver

# प्रॉक्सी सर्वर परिभाषा
proxy = "128.21.0.0:8080"

# ChromeOptions क्लास कॉन्फ़िगर करें
chrome_options = webdriver.ChromeOptions()

# विकल्पों में प्रॉक्सी पैरामीटर
chrome_options.add_argument('--proxy-server=%s' % proxy)

# Chrome() में विकल्प जोड़ें
driver = webdriver.Chrome(options=chrome_options)
driver.implicitly_wait(0.6)
driver.get("https://www.tutorialspoint.com/index.htm")

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


def checkL(self):
    self.driver.get(self.url)
    st = self.driver.find_element_by_xpath('//*[@id="loc"]')
    # असर्शन के साथ स्थान जांचें
    self.assertEqual('India', st.text)

यदि हमें एक से अधिक स्थानों को सत्यापित करना है, तो हम एक मेथड बना सकते हैं और प्रॉक्सी पते को तर्क के रूप में पास कर सकते हैं।

सुधार और सर्वोत्तम अभ्यास:


from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

def create_driver_with_proxy(proxy_address):
    chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument(f'--proxy-server={proxy_address}')
    # हेडलेस मोड के लिए (वैकल्पिक)
    # chrome_options.add_argument('--headless')
    driver = webdriver.Chrome(options=chrome_options)
    return driver

# उपयोग
proxy = "128.21.0.0:8080"
driver = create_driver_with_proxy(proxy)
driver.get("https://www.example.com")

# तत्व की प्रतीक्षा करें
element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, "loc"))
)
print(element.text)
driver.quit()

प्रॉक्सी प्रकार:

  • HTTP प्रॉक्सी: --proxy-server=https://ip:port
  • HTTPS प्रॉक्सी: --proxy-server=https://ip:port
  • SOCKS5 प्रॉक्सी: --proxy-server=socks5://ip:port
  • प्रमाणीकरण के साथ: --proxy-server=user:pass@ip:port
  1. Python में Selenium WebDriver का उपयोग करके आंशिक स्क्रीनशॉट कैसे लें? Python में Selenium WebDriver का उपयोग करके आंशिक स्क्रीनशॉट कैसे लें?

    हम Selenium WebDriver के साथ आंशिक स्क्रीनशॉट ले सकते हैं। किसी विशेष एलिमेंट का स्क्रीनशॉट कैप्चर करने के लिए हमें पहले id, name, classname जैसे लोकेटर की मदद से एलिमेंट की पहचान करनी होगी। फिर हमें उस वेबएलिमेंट पर screenshot मेथड लागू करना होगा और मेथड के आर्गुमेंट के रूप में एक्सटेंशन के साथ इ

  1. पायथन का उपयोग करके फेसबुक लॉगिन पायथन का उपयोग करके फेसबुक लॉगिन

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

  1. पायथन का उपयोग करके व्हाट्सएप ऑटोमेशन पायथन का उपयोग करके व्हाट्सएप ऑटोमेशन

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