使用 Python 通过 WhatsApp API 自动发送消息

碧海醫心
发布: 2025-09-18 19:29:01
原创
979人浏览过

使用 python 通过 whatsapp api 自动发送消息

本文档介绍如何使用 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 将使用它来模拟用户操作。

安装 WebDriver

WebDriver 是 Selenium 用于控制浏览器的组件。webdriver_manager 库可以自动下载并管理 Chrome WebDriver。

千面视频动捕
千面视频动捕

千面视频动捕是一个AI视频动捕解决方案,专注于将视频中的人体关节二维信息转化为三维模型动作。

千面视频动捕27
查看详情 千面视频动捕

编写 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()
登录后复制

代码解释

  1. 导入必要的库:

    • selenium.webdriver: 用于控制浏览器。
    • selenium.webdriver.common.keys: 用于模拟键盘输入,如 Enter 键。
    • webdriver_manager.chrome.ChromeDriverManager: 用于自动管理 Chrome WebDriver。
    • time: 用于添加延迟,确保页面元素加载完成。
  2. 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 的服务条款,并确保账号安全。使用时请谨慎操作,并根据实际情况进行调整。

以上就是使用 Python 通过 WhatsApp API 自动发送消息的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号