Trong phần này, chúng tôi sẽ tạo một chatbots Whatsapp, nhưng không giống như một số chatbots khác dành cho twitter hoặc facebook, whatsapp chatbots không chạy trực tiếp trên nền tảng do các chính sách của whatsapp.
Nhưng có một cách để hoàn thành, sử dụng selen, một gói rất thông minh trong python mà nhà phát triển có thể tự động hóa hoạt động của trình duyệt. Với điều này, chúng tôi có thể sử dụng whatsapp-web thông qua trình duyệt.
Yêu cầu
Chúng ta cần ba thứ cơ bản để hoàn thành công việc:Selenium.
Chúng tôi có thể cài đặt selen rất dễ dàng bằng cách sử dụng pip, chỉ cần chạy lệnh dưới đây trên thiết bị đầu cuối của bạn -
$pip install selenium
-
Chrome / firefox hoặc bất kỳ trình duyệt web nào khác.
Khi tôi sử dụng chrome webdriver, dưới đây là liên kết để tải xuống chrome webdriver theo hệ điều hành của bạn.
-
https://chromedriver.storage.googleapis.com/index.html?path=2.46/
-
Tài khoản Whatsapp.
Cần có tài khoản Whatsapp nếu chưa tạo.
Dưới đây là một chương trình đơn giản để gửi tin nhắn whatsapp bằng python đến các địa chỉ liên hệ cụ thể.
Ví dụ
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()
Hãy chạy các tập lệnh trên trên dấu nhắc lệnh, chuyển thông báo dưới dạng đối số đến whatsapp contact−
>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 …. …..
trình duyệt chrome sẽ mở ra, với một màn hình giống như -
Trên thiết bị di động của bạn, Chọn web whatsapp từ thanh trên cùng trong whatsapp. Quét mã QR xuất hiện trên màn hình.
Ở đó, chúng tôi có thể thấy tin nhắn được gửi đến một liên hệ cụ thể (“Bsnl của tôi”) trong trường hợp của chúng tôi.