python通过pyautogui自动给微信聊天窗口发消息

1.突然的自我

突然想到pyautogui可以做那么事情, 那么是不是可以模拟聊天呢,如果结合现在的大模型chatGPT一边问然后得到结果一边自动和别人聊天是不是很有趣呢。

2.编写脚本玩一把

i.先获取窗口位置

import pygetwindow as gw

def get_window_position(window_title):
    # 查找包含指定标题的窗口
    window = gw.getWindowsWithTitle(window_title)[0]

    # 获取窗口的位置和大小
### 实现微信定时自动发送消息的方式 对于希望利用编程手段来实现微信定时自动发送消息的需求,存在多种方法和技术栈可供选择。以下是几种主要的技术方案: #### 使用 Python 和 itchat 库 一种常见的做法是采用 Python 编程语言配合 `itchat` 这一第三方库。此方式适用于那些偏好脚本语言并熟悉 Python开发者。该解决方案依赖于 `itchat` 提供的 API 接口来进行与微信群组的消息交互,并借助 `apscheduler` 来安排具体的执行时间表[^1]。 ```python import itchat from apscheduler.schedulers.blocking import BlockingScheduler def send_message(): # 登录微信 itchat.auto_login(hotReload=True) # 获取群聊名称,返回的是列表形式,第一个元素便是所需对象 chatrooms = itchat.search_chatrooms(name='目标群聊名字') target_room = chatrooms[0]['UserName'] # 发送消息至指定群聊 itchat.send_msg('这是定时发送的信息', toUserName=target_room) sched = BlockingScheduler() # 设置调度任务,在每天特定时刻触发send_message函数 sched.add_job(send_message, 'cron', hour=8, minute=30) sched.start() ``` #### 利用 pywinauto 自动化 Windows 窗口应用 另一种途径则是运用专门针对 Windows 平台设计的应用程序自动化框架——pywinauto。这种方法允许用户创建能够模仿人类行为的操作序列,比如点击按钮、填写文本框以及激活菜单项等动作,从而间接达成向微信联系人或群聊传递信息的目的[^2]。 ```python from pywinauto.application import Application app = Application().connect(title_re=".*WeChat") # 连接到已运行的微信客户端 main_window = app.window(title_re=".*WeChat") # 假设已经打开了想要发送消息的好友对话框 message_box = main_window.child_window(auto_id="Input", control_type="Edit") message_box.type_keys("这是一条来自机器人的问候~{ENTER}", with_spaces=True) ``` #### 结合 PyAutoGUI 控制鼠标键盘事件 除了上述两种较为底层的方法外,还有更直观的选择就是使用像 PyAutoGUI 这样的图形界面自动化工具。它能轻松定位屏幕上的任意位置并通过模拟鼠标的移动和按键输入完成一系列复杂的指令链,非常适合用来处理诸如查找聊天窗口、输入文字乃至最终按下回车键这类视觉导向的任务[^4]。 ```python import pyautogui import time time.sleep(5) # 给予一定延迟以便切换到微信界面 search_bar_location = (x, y) # 替换成实际坐标值 pyautogui.click(search_bar_location) pyautogui.write('接收者昵称/群聊名称') # 输入对方的名字或者群聊标题 pyautogui.press('enter') msg_content = "这条信息是由机器人发出的" pyautogui.typewrite(msg_content) pyautogui.press('enter') ``` 以上三种策略各有优劣之处,具体选用哪一种取决于个人喜好、项目需求及环境条件等因素。值得注意的是,无论采取何种技术路线都应当遵循相关法律法规和服务条款的规定,确保合法合规地开展此类活动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值