You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python schedule定时任务持续重复无法终止问题求助

问题分析与修复

你的代码出现整点重复执行的核心原因是在while循环内重复注册定时任务:

  • 每一次循环都会调用schedule.every(1).minute.at(":00").do(refresh_page),相当于每秒钟给整点时刻新增一个刷新任务
  • 到整点时,所有之前注册的任务会被同时触发,导致任务频繁重复执行

修复后的代码

def refresh_page():
    driver.refresh()

# 定时任务仅注册一次,移出while循环
schedule.every(1).minute.at(":00").do(refresh_page)

time.sleep(2)
while True:
    # 简化布尔值判断写法
    if driver.find_element(By.CLASS_NAME, "mask2").is_displayed():
        break
    schedule.run_pending()
    time.sleep(1)

关键说明

  • schedule库的任务只需要注册一次,后续每次调用schedule.run_pending()都会自动检查是否到达执行时间
  • 无需在循环内重复注册,否则会累积大量重复任务
  • 直接使用is_displayed()作为判断条件即可,无需额外和True比较

内容的提问来源于stack exchange,提问作者Momorenosas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 17:50:43