from uiautomation import WindowControl, MenuControl import re wx = WindowControl(Name='微信') print(wx) wx.SwitchToThisWindow() hw = wx.ListControl(Name='会话') print('寻找会话控制绑定', hw) # 定义包含数字的列表 numbers = [1234567890, 20000000000, 30000000000] while True: we = hw.TextControl(searchDepth=4) while not we.Exists(8): pass print('查找未读消息', we) if we.Name: we.Click(simulateMove=False) last_msg = wx.ListControl(Name='消息').GetChildren()[-1].Name # 这两行代码是最重要的,绑定微信的聊天信息 print('读取最后一条消息', last_msg) new_numbers = [] # 使用正则表达式匹配符合条件的数字 for num in re.findall(r'\b\d{11}\b', last_msg): if int(num) > 10000000000 and int(num) < 20000000000: new_numbers.append(int(num)) # 输出符合条件的数字 print('符合条件的数字:', new_numbers) for last_msg in range(): # 把last_msg中第一个符合条件的数字添加到list2中 list2 = [] for num in re.findall(r'\b\d{11}\b', last_msg): if int(num) > 10000000000 and int(num) < 20000000000: list2.append(int(num)) break # 输出结果 print('list2:', list2) 我想让last_msg里的数一个一个打印出来应该怎么修改
时间: 2024-02-04 12:02:02 浏览: 106
uiautomation模块源码
你可以使用 `wx.ListControl(Name='消息').GetChildren()` 获取所有消息的控件列表,然后通过循环遍历每个控件,来获取每个消息的具体内容。例如,你可以这样修改代码:
```
from uiautomation import WindowControl, MenuControl
import re
wx = WindowControl(Name='微信')
wx.SwitchToThisWindow()
hw = wx.ListControl(Name='会话')
print('寻找会话控制绑定', hw)
# 定义包含数字的列表
numbers = [1234567890, 20000000000, 30000000000]
while True:
we = hw.TextControl(searchDepth=4)
while not we.Exists(8):
pass
print('查找未读消息', we)
if we.Name:
we.Click(simulateMove=False)
messages = wx.ListControl(Name='消息').GetChildren()
# 遍历每个消息控件,获取消息内容并进行处理
for message in messages:
last_msg = message.Name
print('读取消息', last_msg)
new_numbers = []
# 使用正则表达式匹配符合条件的数字
for num in re.findall(r'\b\d{11}\b', last_msg):
if int(num) > 10000000000 and int(num) < 20000000000:
new_numbers.append(int(num))
# 输出符合条件的数字
print('符合条件的数字:', new_numbers)
# 把last_msg中第一个符合条件的数字添加到list2中
list2 = []
for num in re.findall(r'\b\d{11}\b', last_msg):
if int(num) > 10000000000 and int(num) < 20000000000:
list2.append(int(num))
break
# 输出结果
print('list2:', list2)
```
这样,你就可以逐个打印出 `last_msg` 里的数了。
阅读全文