前言
机房里新的广播服务器有几个软件重启的时候需要手动启动,放入启动文件夹只能启动程序本体,但是服务还是需要手动启动,而且机房的键盘容易卡住,鼠标延迟严重,有误操作的可能,所以我写了个小工具自动启动。
主要使用pyautoui这个库进行屏幕图像识别及自动操作。
代码
import pyautogui
import os
import sys
import time
import subprocess
_path = os.path.dirname(os.path.realpath(sys.executable))
img_path = _path +"\\imgs"
_cmd = _path +'\\startandclick\\'
_cmdnoclick = _path +'\\onlystart\\'
def listpath(path):
if not os.path.exists(path):
os.makedirs(path)
imgs = os.listdir(path)
return imgs
if __name__ == "__main__":
imgdir = os.listdir(img_path)
_rjc = listpath(_cmd)
_rjo = listpath(_cmdnoclick)
for j in range(0,len(imgdir)):
newimgpath = img_path+"\\"+imgdir[j]
imgslist = listpath(newimgpath)
subprocess.Popen(_cmd+_rjc[j],stdout=subprocess.PIPE, shell=True)
time.sleep(0.8)
for i in range(0,len(imgslist)):
while True:
location=pyautogui.locateCenterOnScreen(newimgpath+'\\'+imgslist[i])
if location is not None:
pyautogui.click(location.x,location.y,duration=0.2,button='left')
break
time.sleep(0.2)
print('点击任务'+str(i)+"执行成功!")
for i in range(0,len(_rjo)):
subprocess.Popen(_cmdnoclick+_rjo[i],stdout=subprocess.PIPE, shell=True)
print('启动任务'+str(i)+"执行成功!")
time.sleep(0.5)
print("---------------------------------------")
print("所有任务执行成功!")
time.sleep(0.5)
sys.exit(0)
|