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
相关产品推荐
相关产品推荐

