ในส่วนนี้ เราจะสร้างแชทบอทของ Whatsapp แต่ไม่เหมือนแชทบอทอื่นๆ สำหรับ twitter หรือ facebook ที่แชทบอทของ whatsapp จะไม่ทำงานบนแพลตฟอร์มโดยตรงเนื่องจากนโยบายของ whatsapp
แต่มีวิธีที่จะทำได้โดยใช้ซีลีเนียมซึ่งเป็นแพ็คเกจที่ชาญฉลาดมากในไพ ธ อนซึ่งนักพัฒนาสามารถทำกิจกรรมของเบราว์เซอร์ได้โดยอัตโนมัติ ด้วยสิ่งนี้ เราสามารถใช้ whatsapp-web ผ่านเบราว์เซอร์ได้
ข้อกำหนด
เราต้องการสิ่งพื้นฐานสามอย่างเพื่อทำสิ่งต่างๆ ให้เสร็จ:ซีลีเนียม
เราสามารถติดตั้งซีลีเนียมได้อย่างง่ายดายโดยใช้ pip เพียงรันคำสั่งด้านล่างบนเทอร์มินัลของคุณ –
$pip install selenium
-
Chrome/firefox หรือไดรเวอร์เว็บอื่นๆ
ขณะที่ฉันใช้ chrome webdriver ด้านล่างเป็นลิงค์สำหรับดาวน์โหลด chrome webdriver ตามระบบปฏิบัติการของคุณ
-
https://chromedriver.storage.googleapis.com/index.html?path=2.46/
-
บัญชี Whatsapp
จำเป็นต้องมีบัญชี Whatsapp หากไม่ได้สร้าง
ด้านล่างนี้เป็นโปรแกรมง่ายๆ ในการส่งข้อความ whatsapp โดยใช้ python ไปยังผู้ติดต่อที่ต้องการ
ตัวอย่าง
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()
มาเรียกใช้สคริปต์ข้างต้นบนพรอมต์คำสั่งโดยส่งข้อความเป็นอาร์กิวเมนต์ไปยังผู้ติดต่อ whatsapp−
>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 …. …..
เบราว์เซอร์ Chrome จะเปิดขึ้น โดยมีหน้าจอประมาณ −
บนอุปกรณ์มือถือของคุณ เลือกเว็บ whatsapp จากแถบด้านบนใน whatsapp สแกนรหัส QR ที่ปรากฏบนหน้าจอ
เราจะเห็นข้อความที่ส่งไปยังผู้ติดต่อเฉพาะ (“Bsnl ของฉัน”) ในกรณีของเรา