uune 发表于 2020-9-9 09:51:41

pyautogui locateOnScreen

想用idm挂机下载百度云。
下载完后会弹出



(代码框没缩进。。)
import pyautogui as p
from time import sleep,localtime

def download(time=20,time1=5):
    print('下载至少需要%s分钟,每次延迟%s分钟'%(time,time1))
    #剩余下载时间
    sleep(time*60)
    while True:
      #下载完成
      sleep(2)
      complete = p.locateOnScreen('complete.png')
      sleep(2)
      print('complete =',complete)
      if complete != None:
            p.click(complete,complete)
            #p.press('esc')
            return 'OK'
      else:
            dt = localtime()
            print('延时%d分钟:%d:%d:%d-->%d:%d:%d'
                  %(time1, dt, dt, dt, dt, dt+time1, dt))
            sleep(time1*60)


while循环下的 “complete = p.locateOnScreen('complete.png')” 明明屏幕上有下载完成的对话框,可就是有时检测不到。


拿 complete.png 试的时候就能检测到:



前天才接触 pyautogui 想知道为啥“图片的能检测到,但是真正idm弹出来的下载完成检测不到”

uune 发表于 2020-9-9 12:35:07

没有大佬吗?
页: [1]
查看完整版本: pyautogui locateOnScreen