Python如何在关闭Chrome时停止计时器以统计使用时长
实现Chrome关闭时结束计时的解决方案
嘿,我来帮你搞定这个问题!你的代码目前只计算了Chrome启动的耗时,是因为启动进程后程序直接往下走了,根本没等Chrome关闭。要实现关闭Chrome时才结束计时,只需要让程序等待Chrome进程终止就行,调整起来很简单:
修改后的代码
import subprocess import time # 记录启动时间 start = time.time() # 启动Chrome并保存进程对象 # 用原始字符串处理路径,避免转义问题 chrome_process = subprocess.Popen([r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe']) # 等待Chrome进程关闭(这行代码会阻塞,直到Chrome被关闭) chrome_process.wait() # 记录结束时间并计算总时长 end = time.time() total_time = end - start print(f"Chrome总共运行了 {total_time:.2f} 秒")
关键说明
subprocess.Popen()返回的是一个进程对象,我们把它存在chrome_process变量里- 调用
chrome_process.wait()会让你的程序暂停执行,直到Chrome进程被用户关闭(不管是点击右上角叉号,还是用其他方式结束进程) - 最后计算的
total_time就是从Chrome启动到关闭的完整时长,我加了:.2f来让输出的时间更美观,保留两位小数
额外小提示
如果你的Chrome路径和代码里的不一样(比如安装在非默认路径),记得修改路径字符串。用原始字符串(前面加r)可以避免因为路径里的反斜杠导致的转义错误,比手动加双重反斜杠更省心~
内容的提问来源于stack exchange,提问作者The_perks_of_being_on_mars




