
本文档介绍如何使用 Python 脚本通过 WhatsApp Web 自动化发送消息。我们将使用 Selenium 库来控制 Web 浏览器,模拟用户操作,从而实现消息的自动发送。请注意,此方法可能违反 WhatsApp 的服务条款,使用前请务必了解相关法律和伦理影响。
前提条件
在开始之前,请确保已安装以下软件和库:
Python 3.6+: 确保您的系统已安装 Python 3.6 或更高版本。
-
Selenium: 用于控制 Web 浏览器的 Python 库。可以使用 pip 安装:
立即学习“Python免费学习笔记(深入)”;
pip install selenium
-
webdriver_manager: 用于自动管理 Chrome WebDriver 的库。可以使用 pip 安装:
pip install webdriver_manager
Chrome 浏览器: 需要安装 Chrome 浏览器,Selenium 将使用它来模拟用户操作。
维克企业管理系统全能.NET版2009下载采用.NET CLR2.0、VS2005及SQL2000,前台页面使用用DIV+CSS开发;可以使用动态化运行,也可以采用全部静态化动作,甚至自己定义模板;后台信息编辑器采用最新版FCKeditor;产品信息可导出为EXCEL、WORD、PDF等格式存储;产品信息可以通过EXCEL模板批量导入;产品分类采用无限级分类;产品图片上传支持图片水印和文字水印,同时支持自动生成缩略图功能;电子邮件发送支持
安装 WebDriver
WebDriver 是 Selenium 用于控制浏览器的组件。webdriver_manager 库可以自动下载并管理 Chrome WebDriver。
编写 Python 脚本
以下是一个使用 Selenium 通过 WhatsApp Web 发送消息的 Python 脚本示例:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from webdriver_manager.chrome import ChromeDriverManager
import time
# Function to send a WhatsApp message
def send_whatsapp_message(contact_name, message):
# Create a new instance of the Chrome driver
driver = webdriver.Chrome(ChromeDriverManager().install())
# Open WhatsApp Web
driver.get("https://web.whatsapp.com/")
input("Scan the QR code on the browser, then press Enter to continue...")
try:
# Locate the search box
search_box = driver.find_element("xpath", "//div[contains(@class, 'copyable-text')][@contenteditable='true']")
# Type the contact name
search_box.send_keys(contact_name)
time.sleep(2) # Wait for the contact to load
# Select the contact
search_box.send_keys(Keys.ENTER)
# Locate the message input box
message_box = driver.find_element("xpath", "//div[@contenteditable='true'][@data-tab='1']")
# Type and send the message
message_box.send_keys(message)
message_box.send_keys(Keys.ENTER)
print(f"Message sent to {contact_name} successfully!")
except Exception as e:
print(f"Error: {str(e)}")
finally:
# Close the browser window
driver.quit()代码解释
-
导入必要的库:
- selenium.webdriver: 用于控制浏览器。
- selenium.webdriver.common.keys: 用于模拟键盘输入,如 Enter 键。
- webdriver_manager.chrome.ChromeDriverManager: 用于自动管理 Chrome WebDriver。
- time: 用于添加延迟,确保页面元素加载完成。
-
send_whatsapp_message 函数:
- 接受联系人姓名 contact_name 和消息内容 message 作为参数。
- 使用 webdriver_manager 创建 Chrome WebDriver 实例。
- 打开 WhatsApp Web (https://web.whatsapp.com/)。
- 提示用户扫描二维码并按下 Enter 键继续。
- 使用 XPath 定位搜索框,输入联系人姓名,等待联系人加载,然后按下 Enter 键选择联系人。
- 使用 XPath 定位消息输入框,输入消息内容,然后按下 Enter 键发送消息。
- 使用 try...except...finally 结构处理可能出现的异常,并在 finally 块中关闭浏览器窗口。
使用示例
contact_name = "John Doe" # 替换为实际联系人姓名 message = "Hello, this is a test message from my Python script!" send_whatsapp_message(contact_name, message)
将 contact_name 替换为实际联系人的姓名,message 替换为要发送的消息内容,然后运行脚本。
注意事项
- XPath: 代码中使用了 XPath 来定位页面元素。WhatsApp Web 的界面可能会更新,导致 XPath 失效。如果脚本无法正常工作,请检查 XPath 是否仍然有效。可以使用 Chrome 浏览器的开发者工具来查找元素的 XPath。
- 延迟: 代码中使用了 time.sleep() 函数来添加延迟。这是为了确保页面元素加载完成。如果脚本在运行过程中出现问题,可以尝试调整延迟时间。
- WhatsApp 服务条款: 使用自动化脚本访问 WhatsApp Web 可能会违反 WhatsApp 的服务条款。请在使用前仔细阅读并遵守相关条款。
- 安全性: 请注意保护您的 WhatsApp 账号安全,避免滥用自动化脚本。
总结
本文档介绍了如何使用 Python 和 Selenium 通过 WhatsApp Web 自动化发送消息。虽然此方法可以提高效率,但也需要注意遵守 WhatsApp 的服务条款,并确保账号安全。使用时请谨慎操作,并根据实际情况进行调整。









