使用Python操作Whatsapp?
在本节中,我们将创建一个Whatsapp聊天机器人,但与其他一些针对Twitter或Facebook的聊天机器人不同,由于Whatsapp的政策,Whatsapp聊天机器人不会直接在平台上运行。
但是,有一种方法可以实现它,那就是使用Selenium,这是一个非常智能的Python包,开发人员可以使用它来自动化浏览器的活动。通过这种方式,我们可以通过浏览器使用Whatsapp网页版。
需求
我们需要三样基本的东西来完成任务:Selenium。
我们可以使用pip非常轻松地安装Selenium,只需在您的终端运行以下命令:
$pip install selenium
Chrome/Firefox或任何其他WebDriver。
由于我使用的是Chrome WebDriver,以下是一个根据您的操作系统下载Chrome WebDriver的链接。
https://chromedriver.storage.googleapis.com/index.html?path=2.46/
Whatsapp账号。
如果没有Whatsapp账号,需要创建一个。
以下是一个简单的程序,用于使用Python向特定联系人发送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()让我们在命令提示符下运行上述脚本,将消息作为参数传递给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网页版。扫描屏幕上显示的二维码。
在那里我们可以看到消息已发送到我们案例中的特定联系人(“我的Bsnl”)。

广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP