我正在编写一个宏,当我按下一个键时,它会点击屏幕上的特定位置。
我第一次按下一个键,一切正常。
但是,任何其他按键都会导致错误:
time.sleep(0.1)
TypeError: an integer is required
代码如下:
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()
DeleteRun
函数似乎是第一次被pyHook
运行,time.sleep(
)接受 float 。
在任何后续函数调用中,它似乎只接受整数。
这是什么原因造成的?
鼠标布置我都等不了5秒了!它应该可以节省时间!
规范:
- python 2.7.2
- Windows 7 (32)
最佳答案
好的,这个怎么样?给 DeleteRun 添加一个 return True:
def DeleteRun(event):
Click(1250, 741)
time.sleep(0.1)
[...]
return True
我可能应该承认这只不过是 google-fu:阅读 this question 的答案.
关于python - time.sleep 需要整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9762440/