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

সেলেনিয়াম ওয়েবড্রাইভারে পাইথন দিয়ে স্পেসফিক ডোমেইনে কুকি (Cookie) সেট করুন

সমস্যা বিবরণ

সেলেনিয়াম ওয়েবড্রাইভার (Selenium WebDriver) ব্যবহার করে একটি নির্দিষ্ট ডোমেইনের জন্য কুকি (Cookie) সেট করা, পাওয়া এবং ডিলিট করার পদ্ধতি। কুকি হলো ব্রাউজার এবং সার্ভারের মধ্যে আদান-প্রদান হয় একটি কী-ভ্যালু পেয়ার।

মূল মেথডগুলো

  • driver.add_cookie({"name": "key", "value": "value"}) — কুকি যোগ করুন।
  • driver.get_cookies() — সব কুকি পান।
  • driver.get_cookie("name") — নির্দিষ্ট কুকি পান।
  • driver.delete_all_cookies() — সব কুকি মুছুন।

পূর্ণ কোড উদাহরণ

from selenium import webdriver

# ফায়ারফক্স ড্রাইভার সেটআপ (গেকোড্রাইভার পাথ দিন)
driver = webdriver.Firefox(executable_path="C:\\geckodriver.exe")
driver.maximize_window()

# ইউআরএল লঞ্চ করুন
driver.get("https://www.tutorialspoint.com/index.htm")

# কুকি যোগ করুন
cookie = {'name': "Automation", 'value': 'QA'}
driver.add_cookie(cookie)

# মোট কুকি কাউন্ট
print("মোট কুকি:", len(driver.get_cookies()))

# নির্দিষ্ট কুকি পান
print("Automation কুকি:", driver.get_cookie("Automation"))

# সব কুকি ডিলিট করুন
driver.delete_all_cookies()
print("ডিলিট করার পর কুকি কাউন্ট:", len(driver.get_cookies()))

# ব্রাউজার বন্ধ করুন
driver.quit()

আউটপুট (উদাহরণ)

মোট কুকি: 5
Automation কুকি: {'name': 'Automation', 'value': 'QA', 'domain': 'www.tutorialspoint.com', ...}
ডিলিট করার পর কুকি কাউন্ট: 0

গুরুত্বপূর্ণ নোটস

  1. ডোমেইন ম্যাচ: কুকি সেট করার আগে অবশ্যই সেই ডোমেইনের পেজ লোড করা থাকতে হবে (driver.get()), অন্যথে কুকি সেট হবে না।
  2. এক্সপায়ারি: কুকি অবজেক্টে expiry, path, domain, secure, httpOnly ইত্যাদি প্রপার্টি যোগ করা যায়।
  3. মডার্ন সেলেনিয়াম ৪+: executable_path ডিপ্রিকেটেড, Service ক্লাস ব্যবহার করুন।

মডার্ন সেলেনিয়াম ৪+ সিনট্যাক্স

from selenium import webdriver
from selenium.webdriver.firefox.service import Service

service = Service("C:\\geckodriver.exe")
driver = webdriver.Firefox(service=service)
# বাকি কোড একই...
  1. Bokeh (Python)-এ ইমেজ নিয়ে কাজ করার পদ্ধতি

  2. ফ্যান্টমজেএস (PhantomJS) ও সেলেনিয়াম দিয়ে পাইথনে উইন্ডো সাইজ সেট করুন

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

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