
期望在标记A的位置判断预约日期是否为明天,标记A是个弹出窗口。如何写代码能够获取到这个信息。目前通过魔法指令写的代码提示超出范围。
魔法指令的上一步,设置如下:

# 使用此指令前,先安装必要的python库,使用以下命令
# pip install pygetwindow
# pip install pywinauto
# pip install datetime
# pip install re
import pygetwindow as gw
from pywinauto import Application
import datetime
import re
from xbot importprint
from typing import *
defget_appointment_date():
"""
title: 获取软件窗口中的预约日期
description: 从指定的软件窗口中提取预约日期,并判断是否为明天。
inputs:
- None
outputs:
- appointment_date (str): 预约日期,格式为YYYY-MM-DD
- is_tomorrow (bool): 是否为明天,True表示是明天,False表示不是明天
"""
# 获取指定软件窗口的标题
window_title = "请选择时间并快速预约"
# 使用pygetwindow定位软件窗口
window = gw.getWindowsWithTitle(window_title)[0]
# 切换到指定窗口
window.activate()
# 获取窗口的坐标
window_rect = (window.left, window.top, window.width, window.height)
# 使用pywinauto打开指定窗口
app = Application().connect(title=window_title)
dlg = app.window(title=window_title)
# 获取窗口中的文本内容
text = dlg.window_text()
# 使用正则表达式提取预约日期
pattern = r"预约日期:(\d{4}-\d{2}-\d{2})"
match = re.search(pattern, text)
if match:
appointment_date = match.group(1)
# 判断预约日期是否为明天
tomorrow = datetime.date.today() + datetime.timedelta(days=1)
is_tomorrow = appointment_date == tomorrow.strftime("%Y-%m-%d")
else:
appointment_date = None
is_tomorrow = False
return appointment_date, is_tomorrow
我怀疑超出范围,应该是窗口标记A的内容没有找到导致的。