发送消息有两种方式
# 方法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("搜索结果列表不存在.")