#!/usr/bin/python3
# -*- coding: utf-8 -*-
import pandas as pd
import numpy as np
from uiautomation import WindowControl, MenuControl
# 绑定微信主窗口
wx = WindowControl(
Name='微信',
# searchDepth=1
)
# 切换窗口
wx.SwitchToThisWindow()
# 寻找会话控件绑定
hw = wx.ListControl(Name='会话')
# 通过pd读取数据
df = pd.read_csv('回复数据.csv', encoding='gb18030')
# 死循环接受消息
while True:
# 从查找未读消息
we = hw.TextControl(searchDepth=4)
# 死循环维持,没有超时报错
while not we.Exists(0):
pass
# 存在未读消息
if we.Name:
# 点击未读消息
we.Click(simulateMove=False)
# 读取最后一条消息
last_msg = wx.ListControl(Name='消息').GetChildren()[-1].Name
# 判断关键字
msg = df.apply(lambda x: x['回复内容'] if x['关键词'] in last_msg else None, axis=1)
# 数据筛选,移除空数据
msg.dropna(axis=0, how='any', inplace=True)
# 做成列表
ar = np.array(msg).tolist()
# 能够匹配到数据时
if ar:
# 将数据输入
# 替换换行符号
wx.SendKeys(ar[0].replace('{br}', '{Shift}{Enter}'), waitTime=0)
# 发送消息
wx.SendKeys('{Enter}', waitTime=0)
# 通过消息匹配检索会话栏的联系人
wx.TextControl(SubName=ar[0][:5]).RightClick()
# 没有匹配到数据时
else:
wx.TextControl(SubName=last_msg[:5]).RightClick()
# 匹配右击控件
# ment = MenuControl(ClassName='CMenuWnd')
# 点击右键控件中的不显示聊天
# ment.TextControl(Name='不显示聊天').Click()
自动回复(2).zip
需积分: 0 185 浏览量
2024-05-14
17:04:08
上传
评论
收藏 1KB ZIP 举报
问了那年东
- 粉丝: 73
- 资源: 1
最新资源
- Screenshot_2024-05-28-11-40-58-177_com.tencent.mm.jpg
- 基于Dart的Flutter小提琴调音器APP设计源码 - violinhelper
- 基于JavaScript和CSS的随寻订购网页设计源码 - web-order
- 基于MATLAB的声纹识别系统设计源码 - VoiceprintRecognition
- 基于Java的微服务插件集合设计源码 - wsy-plugins
- 基于Vue和微信小程序的监理日志系统设计源码 - supervisionLog
- 基于Java和LCN分布式事务框架的设计源码 - tx-lcn
- 基于Java和JavaScript的茶叶评级管理系统设计源码 - tea
- IMG_5680.JPG
- IMG_0437.jpg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈