এই বিভাগে আমরা একটি Whatsapp চ্যাটবট তৈরি করতে যাচ্ছি, কিন্তু টুইটার বা ফেসবুকের জন্য অন্য কয়েকটি চ্যাটবটের বিপরীতে, হোয়াটসঅ্যাপের নীতিগুলির কারণে হোয়াটসঅ্যাপ চ্যাটবটগুলি সরাসরি প্ল্যাটফর্মে চলে না৷
কিন্তু সেলেনিয়াম ব্যবহার করার একটি উপায় আছে, পাইথনের একটি খুব স্মার্ট প্যাকেজ যার সাহায্যে বিকাশকারীরা ব্রাউজারের কার্যকলাপ স্বয়ংক্রিয় করতে পারে। এর মাধ্যমে আমরা ব্রাউজারের মাধ্যমে হোয়াটসঅ্যাপ-ওয়েব ব্যবহার করতে পারি।
প্রয়োজনীয়তা
কাজগুলো সম্পন্ন করার জন্য আমাদের তিনটি মৌলিক জিনিসের প্রয়োজন:সেলেনিয়াম।
আমরা পিপ ব্যবহার করে খুব সহজে সেলেনিয়াম ইনস্টল করতে পারি, আপনার টার্মিনালে নিচের কমান্ডটি চালান -
$pip install selenium
-
ক্রোম/ফায়ারফক্স বা অন্য কোনো ওয়েব ড্রাইভার।
যেহেতু আমি chrome webdriver ব্যবহার করি, নিচে আপনার OS অনুযায়ী chrome webdriver ডাউনলোড করার একটি লিঙ্ক দেওয়া হল৷
-
https://chromedriver.storage.googleapis.com/index.html?path=2.46/
-
Whatsapp অ্যাকাউন্ট।
একটি হোয়াটসঅ্যাপ অ্যাকাউন্ট তৈরি করতে হবে না।
নির্দিষ্ট পরিচিতিগুলিতে পাইথন ব্যবহার করে হোয়াটসঅ্যাপ বার্তা পাঠানোর জন্য নীচে একটি সহজ প্রোগ্রাম।
উদাহরণ
from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By import time import sys # Replace below path with the absolute path of the \ #chromedriver in your computer driver = webdriver.Chrome(r'c:\users\rajesh\Desktop\chromedriver') driver.get("https://web.whatsapp.com/") # time.sleep() wait = WebDriverWait(driver, 600) # Replace 'My Bsnl' with the name of your friend or group name target = '"My Bsnl"' # Replace the below string with your own message string = sys.argv[1] x_arg = '//span[contains(@title,' + target + ')]' group_title = wait.until(EC.presence_of_element_located(( By.XPATH, x_arg))) print (group_title) print ("Wait for few seconds") group_title.click() message = driver.find_elements_by_xpath('//*[@id="main"]/footer/div[1]/div[2]/div/div[2]')[0] message.send_keys(string) sendbutton = driver.find_elements_by_xpath('//*[@id="main"]/footer/div[1]/div[3]/button')[0] sendbutton.click() driver.close()
আসুন কমান্ড প্রম্পটে উপরের স্ক্রিপ্টগুলি চালাই, হোয়াটসঅ্যাপ পরিচিতিতে যুক্তি হিসাবে বার্তা প্রেরণ করি---
>python whatsppPython.py "Hello" DevTools listening on ws://127.0.0.1:12954/devtools/browser/a5bb04bd-66a3-4002-999f-6a0824f591da <selenium.webdriver.remote.webelement.WebElement (session="83e7034b9a6f6b49e9e422e655f270d3", element="0.30994636046479007-1")> after wait …. …..
ক্রোম ব্রাউজার খুলবে, −
এর মত একটি স্ক্রীন সহ
আপনার মোবাইল ডিভাইসে, whatsapp-এর উপরের বার থেকে whatsapp ওয়েব বেছে নিন। স্ক্রিনে প্রদর্শিত QR কোডটি স্ক্যান করুন।
সেখানে আমরা দেখতে পাচ্ছি আমাদের ক্ষেত্রে একটি নির্দিষ্ট পরিচিতিতে (“My Bsnl”) বার্তা পাঠানো হয়েছে।