python+uiautomation 微信自动发送消息

发送消息有两种方式

#	方法1
send_button = wechat_window.ButtonControl(Name='发送(S)')
if send_button.Exists():
	# 点击发送按钮
	send_button.Click()
else:
	print("未找到发送按钮")

#	方法2
	auto.SendKeys('{ENTER}') # 模拟enter

python+uiautomation 微信自动发送消息完整代码

import time
import uiautomation as auto

# 定位微信的主窗口
wechat_window = auto.WindowControl(searchDepth=1, ClassName='WeChatMainWndForPC', SubName='微信')

# 定位微信的搜索框并输入搜索内容
wechat_window.ButtonControl(Name="通讯录").Click()
search_box = wechat_window.EditControl(Name="搜索")
search_box.Click()
search_box.SendKeys('菜菜小屋') # 这里输入微信id/昵称/备注

# 模拟回车键来执行搜索操作
auto.SendKey(auto.Keys.VK_RETURN)

# 搜索结果显示在列表中
auto.WaitForExist(wechat_window, 5)  # 等待5秒钟确保搜索结果加载完毕

# 定位包含搜索结果的列表控件
search_results_list = auto.ListControl(searchFromControl=wechat_window)

# 获取搜索结果中的联系人信息
# if search_results_list.Exists():
#     items = search_results_list.GetChildren()
#     if items:
#         # 假设点击第一个搜索结果
#         first_contact = items[0]
#         first_contact.Click()
#         print('==============', first_contact)
#     else:
#         print("未找到搜索结果.")
# else:
#     print("未找到搜索结果列表控件.")


# 检查搜索结果列表是否存在
if search_results_list.Exists():
    items = search_results_list.GetChildren()
    if items:
        # 点击第一个搜索结果
        first_contact = items[0]
        first_contact.Click()
        
        # 聊天窗口打开后,找到消息输入框
        input_box = wechat_window.ListControl(Name='消息')
        # if input_box.Exists():
        #     # 输入消息内容
        #     input_box.SendKeys('你好')
            
        #     send_button = wechat_window.ButtonControl(Name='发送(S)')
            
        #     if send_button.Exists():
        #         # 点击发送按钮
        #         send_button.Click()
        #     else:
        #         print("未找到发送按钮")
        # else:
        #     print("未找到消息输入框")
        if input_box.Exists():
            messages = ['你好', '今天天气真好', '有什么好玩的推荐吗?', '我刚刚看到了一篇有趣的文章', '晚安']

            for message in messages:
                input_box.SendKeys(message)
                time.sleep(1)
                auto.SendKeys('{ENTER}') # 发送消息enter
        else:
            print("未找到消息输入框")
    else:
        print("未找到搜索结果.")
else:
    print("搜索结果列表不存在.")


PythonUIAutomation库可以实现微信自动回复功能。UIAutomation是一种自动化测试工具,可以模拟用户交互操作来进行自动化测试。具体实现步骤如下: 1. 安装UIAutomation库:在命令行中输入`pip install uiautomation`来安装UIAutomation库。 2. 导入所需的库:在Python脚本中导入UIAutomation库以及其他需要使用的库,比如`time`用于设置延时。 3. 启动微信并登录:使用UIAutomation库的`ShellExecute`函数来启动微信应用,并通过UIAutomation库提供的定位元素的方法找到微信的登录界面,输入用户名和密码进行登录。 4. 找到聊天窗口并获取消息:使用UIAutomation库提供的定位元素的方法找到微信的聊天窗口,并使用`GetValuePattern`方法获取聊天窗口的文本内容。 5. 判断是否有新消息:通过判断聊天窗口的文本内容是否有变化,即是否有新的消息到来,来确定是否需要进行自动回复。 6. 进行自动回复:使用UIAutomation库提供的定位元素和输入文本的方法来找到微信的输入框,并输入自动回复的内容。 7. 发送自动回复:模拟鼠标点击发送按钮,即可将自动回复的内容发送出去。 8. 循环检测并回复:使用一个无限循环,不停地检测是否有新消息,并根据需要进行自动回复,可以通过设置延时来控制检测的频率。 需要注意的是,由于微信客户端的更新可能会改变UI元素的布局或属性,导致自动化定位失败,所以在具体使用时可能需要根据微信客户端的实际情况对代码进行适当的调整和修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值