如何修改Python自动点击脚本,使其30分钟未找到按钮时自动退出?
自动点击脚本优化:添加超时退出机制
下面是修改后的脚本,核心是记录最后一次找到按钮的时间,当连续30分钟未检测到按钮时自动退出,同时保留手动终止的功能:
import pyautogui import time # 设置超时时间为30分钟(转换为秒) TIMEOUT_DURATION = 30 * 60 # 初始化最后一次找到按钮的时间为当前时间 last_detected_time = time.time() while True: try: # 尝试定位屏幕上的按钮 button_location = pyautogui.locateOnScreen('enum_button_image.png') if button_location: # 找到按钮,执行点击并更新检测时间 pyautogui.click(button_location) last_detected_time = time.time() print("已找到并点击按钮") # 短延迟避免重复点击过快 time.sleep(1) else: # 未找到按钮,检查是否超时 elapsed_time = time.time() - last_detected_time if elapsed_time >= TIMEOUT_DURATION: print("连续30分钟未检测到按钮,程序自动退出") break # 未超时则短暂延迟后继续检测 time.sleep(0.5) except KeyboardInterrupt: # 保留手动终止逻辑 print("手动终止程序") break
关键逻辑说明
TIMEOUT_DURATION:将30分钟转换为秒,作为超时判断的阈值last_detected_time:记录最后一次成功定位到按钮的时间,每次找到按钮时更新- 未找到按钮时,计算当前时间与
last_detected_time的差值,超过阈值则退出循环 - 加入
time.sleep()减少循环频率,降低CPU资源占用 - 保留
KeyboardInterrupt捕获,支持手动按CTRL+C终止程序
内容的提问来源于stack exchange,提问作者tadm123
相关产品推荐
相关产品推荐

