如何使用pywhatkit向多个号码发送单条WhatsApp消息?
批量发送WhatsApp消息的问题解决方法
你的问题核心在于固定定时时间导致后续发送任务失效,以及pywhatkit依赖网页版WhatsApp的机制需要严格的时间顺序和足够的执行间隔。以下是可行的解决方案:
问题根源
- 你使用固定的
xHour和yMinute作为发送时间,第一次发送完成后时间已过,后续循环的定时任务因时间在过去而无法触发。 sleep的时间设置可能不足以让pywhatkit完成页面加载、消息发送和浏览器标签页的处理流程,导致后续任务被阻塞。
修正方案
动态计算每次发送的时间,确保每个任务的定时时间都在当前时间之后,并配合足够的间隔让每个发送流程完整执行:
import pywhatkit import datetime import time nums = ["+1234", "+5678"] # 获取当前系统时间 current_time = datetime.datetime.now() try: for idx, c in enumerate(nums): # 每次发送时间比上一次延后3分钟,确保时间始终在未来 send_time = current_time + datetime.timedelta(minutes=3*(idx+1)) hour = send_time.hour minute = send_time.minute # 发送消息,等待20秒让页面完成加载 pywhatkit.sendwhatmsg(c, "Testing Automatic Whatsapp", hour, minute, 20) print(f"已成功发送给 {c}") # 等待3分钟,确保当前发送流程完全结束,避免浏览器实例冲突 time.sleep(180) # 关闭当前WhatsApp网页标签页,避免标签页堆积(可选) pywhatkit.close_tab() except Exception as e: print(f"出现错误: {str(e)}")
额外注意事项
- 确保WhatsApp网页版已在浏览器中登录,且浏览器允许pywhatkit自动打开新标签页。
- 如果仍有发送失败情况,可适当延长
time.sleep()的时间(比如调整为200秒),给消息发送留足缓冲时间。 - 发送过程中不要手动操作浏览器,避免干扰pywhatkit的自动化流程。
内容的提问来源于stack exchange,提问作者Thanos
相关产品推荐
相关产品推荐

