Estoy escribiendo una macro que hará clic en ciertos puntos en la pantalla cuando presiono una tecla.time.sleep requiere enteros?
La primera vez que presiono una tecla, todo funciona bien.
Sin embargo, cualquier otro resultado pulsación de tecla del error:
time.sleep(0.1)
TypeError: an integer is required
Aquí está el código:
import win32api
import win32con
import time
import pythoncom
import pyHook
import os
def Click(x,y):
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
def DeleteRun(event):
Click(1250, 741)
time.sleep(0.1)
Click(649,261)
time.sleep(0.1)
Click(651, 348)
time.sleep(0.1)
Click(800, 442)
time.sleep(0.1)
Click(865, 612)
Click(20,20)
KeyGrabber = pyHook.HookManager()
KeyGrabber.KeyDown = DeleteRun
KeyGrabber.HookKeyboard()
pythoncom.PumpMessages()
Parece que la primera vez que la función DeleteRun
está dirigido por pyHook
, time.sleep(
) acepta flotadores.
En cualquiera de las siguientes llamadas a funciones, parece que solo acepta números enteros.
¿Qué está causando esto?
¡No puedo esperar 5 segundos para la disposición del mouse! ¡Se supone que ahorra tiempo!
Especificaciones:
- pitón 2.7.2
- de Windows 7 (32)
¿Se puede hacer 'import time as time_safe' y usar' time_safe' en lugar de 'time'? Tal vez pyHook está haciendo algo con la clase 'time'. – Blender
No hay éxito, me temo. Sin embargo, he notado que alterna el trabajo y el fracaso. –
Quizás intente específicamente 'from time import sleep'? –