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中 str = "" for msg in last_msg: str += str(msg) print(str) 这行代码有什么错误
时间: 2024-01-01 21:04:21 浏览: 57
这段代码中缺少了一个代码行的结尾,导致代码格式错误。在以下这行代码之后,需要添加一个空行:
```python
messages = wx.ListControl(Name='消息').GetChildren()
```
此外,你在代码中使用了名为 `str` 的变量,但是这是一个内置的 Python 类型,因此不建议将其用作变量名。你可以将其更改为其他名称,例如 `msg_str`。
所以你可以将以下修改后的代码复制到你的代码中:
```python
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中
msg_str = ""
for msg in last_msg:
msg_str += str(msg)
print(msg_str)
```
这段代码可能还有其他的错误,因此在运行之前请确保你已经正确地导入了所需的模块,并且已经正确地设置了 UIAutomation。
阅读全文