如何判断时间
回答
收藏

如何判断时间

E
EdwardQi
2024-02-29 19:14·浏览量:868
E
EdwardQi
发布于 2024-02-29 19:14868浏览

期望在标记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的内容没有找到导致的。

收藏
全部回答1
最新
发布回答
回答