কম্পিউটার টিউটোরিয়াল

পাইথনে সেলেনিয়াম ওয়েবড্রাইভার প্রক্সি (Proxy) দিয়ে চালানো

পাইথনে সেলেনিয়াম ওয়েবড্রাইভার (Selenium WebDriver) প্রক্সি (Proxy) দিয়ে চালানো যায়। প্রক্সি লোকালাইজেশন টেস্টিং (localization testing) করার জন্য অত্যন্ত জরুরি একটি কম্পোনেন্ট। আমরা একটি ই-কমার্স অ্যাপ্লিকেশন নেওয়া যেতে পারে এবং চেক করা যেতে পারে যে ইউজার লোকেশনের অনুযায়ী ভাষা এবং কারেন্সি সঠিকভাবে দেখাচ্ছে কিনা।

টেস্টের ভেতরে প্রক্সি ব্যবহার করে আমরা ভেরিফাই করতে পারি যে ওয়েবসাইট ইউজার ইন্টারফেস লোকেশন অনুযায়ী মিলছে কিনা। প্রক্সি সেট করার ধাপগুলো নিচে দেওয়া হলো:

  • Selenium প্যাকেজ থেকে webdriver ইম্পোর্ট করুন।
  • প্রক্সি সার্ভার অ্যাড্রেস ডিফাইন করুন।
  • ChromeOptions ক্লাসের অবজেক্ট তৈরি করুন।
  • প্রক্সি ChromeOptions-এর সাথে কমিউনিকেশন করান।
  • অপশনগুলো Chrome() অবজেক্টে যোগ করুন।

উদাহরণ

কোড ইমপ্লিমেন্টেশন:

from selenium import webdriver

# proxy server definition
py = "128.21.0.0:8080"

# configure ChromeOptions class
chrome_options = webdriver.ChromeOptions()

# proxy parameter to options
chrome_options.add_argument('--proxy-server=%s' % py)

# options to 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('#loc')
    # check location with assertion
    self.assertEqual('India', st.text)

যদি একাধিক লোকেশন ভেরিফাই করতে হয়, তবে একটি মেথড বানিয়ে প্রক্সি অ্যাড্রেস আর্গুমেন্ট হিসেবে পাস করা যায়।

  1. সিলেনিয়াম ওয়েবড্রাইভার পাইথনে পেজ লোড হওয়া পর্যন্ত অপেক্ষা করা (Explicit Wait)

  2. সিলেনিয়াম ওয়েবড্রাইভার পাইথনে আংশিক স্ক্রিনশট (এলিমেন্ট স্ক্রিনশট) নেওয়া

  3. পাইথন ব্যবহার করে ফেসবুক লগইন

  4. পাইথনে WhatsApp অটোমেশন (WhatsApp using Python)