所以我有一个sikuli脚本在运行,它连续每10分钟监控并执行一个动作。但是,由于各种原因,有时运行会被中断,并且无法在脚本停止运行时发出警报
所以我试着运行一个python脚本,它将监视sikuli IDE的窗口。脚本运行时,窗口不再可见。因此,如果窗口再次可见,python脚本将运行一个批处理文件,该文件将触发所需的警报。以下是我在本网站看到其他示例后编写的脚本:
WindowName = "SikulixIDE 1.1.3 - C:\\Users\\TestUser\\Downloads\\testing2.sikuli"
while True:
try:
if win32ui.FindWindow(None, WindowName):
subprocess.call([r'C:\Users\TestUser\Documents\notification.bat'])
break
except win32ui.error:
#print("its not running!")
continue
我在上面代码中遇到的问题是,即使sikuli脚本正在运行,并且IDE窗口(带有WindowName的窗口)实际上对我不可见,它仍然会找到它并进入if块。我不确定这里出了什么问题,如果窗口在任务管理器中不可见,FindWindow应该无法找到它,对吗
我想说的是,你正试图用一种非常复杂的方式来做这件事
我强烈建议查看sikuli的'-r'选项,只编写一个sikuli脚本,它将自行处理异常,并且不需要监控
在这种情况下,如果您真的需要对脚本进行额外的监视,那么会更容易,因为您可以使用特定的命令行(而不是可见窗口)查找进程
相关问题 更多 >
编程相关推荐