2017-05-04 3 views
0
#! python3 
import pyautogui 
import time 
pyautogui.screenshot('first.png') #take a SS of my entire screen 
check = pyautogui.locateCenterOnScreen('first.png') # set the value of check to center of screen assuming it will be the same as the SS...it will 
print(check) #(960, 540) is the center of my screen and is stored in check 
while True: #inf loop 
    pyautogui.screenshot('Test.png') #take a second Screenshot 
    idleout = pyautogui.locateCenterOnScreen('Test.png') #set the value of idleout with the center of test.jpg 
    print(idleout) #(960, 540) is the center suprised?? 
if idleout != check: #idleout != (960, 540) then this should happen 
    pyautogui.press('space') #space is never pressed or any action taken ive even tried with print("hello") 

Ce que je veux faire est que si la capture d'écran ne correspond pas à ce qui est actuellement sur mon écran, il va faire une action. im en cours d'exécution sur les fumées iciPython automation avec pyautogui si les instructions ne sont pas exécutées

Répondre

0

Je ne suis pas sûr que la mise en forme de SO est configuré correctement (vos commentaires montrent que des mots-clés), mais il semble comme vous avez l'instruction if en dehors de la boucle while True. Si c'est le cas, il ne sera jamais exécuté (ou vérifié).

#! python3 
import pyautogui 
import time 
pyautogui.screenshot('first.png') 
check = pyautogui.locateCenterOnScreen('first.png') 
print(check) 
while True: 
    pyautogui.screenshot('Test.png') 
    idleout = pyautogui.locateCenterOnScreen('Test.png') 
    print(idleout) 
    if idleout != check: 
     pyautogui.press('space') 
+1

Donc, pour tout dire, vous avez tout à fait raison. j'ai manqué l'indentation mais elle n'a jamais montré une erreur parce que la syntaxe était correcte. Merci! – John

+0

Je suis content que c'était la solution! – AetherUnbound