2
有一個腳本,我在Python 2.6的屏幕上移動光標。它沿着一條直線輕微變化。速度是固定的,目的地也是輕微變化的。Python錯誤信息'沒有錯誤信息可用'使用win32api
import win32api, random, math
def cmouse(x2,y2):
x1,y1 = win32api.GetCursorPos()
x2 = x2 + random.randrange(-1, 2)
y2 = y2 + random.randrange(-1, 2)
dis_x = x2-x1
dis_y = y2-y1
dis = math.sqrt(math.pow(x2-x1, 2)+math.pow(y2-y1, 2))
n = int((dis/2200)*100)
for i in range(0, n+1):
t = (random.randrange(1, 3)*0.005)
c1,d1 = win32api.GetCursorPos()
if c1 in range(x2-45, x2+46) and d1 in range(y2-45, y2+46):
var_x = 0
var_y = 0
else:
var_x = random.randrange(-3, 4)
var_y = random.randrange(-3, 4)
if n!=0:
win32api.SetCursorPos((int(x1 + var_x + i*(float(dis_x)/n)),
int(y1 + var_y + i*(float(dis_y)/n))))
time.sleep(t)
else:
time.sleep(t)
break
它運行良好99.5%的時間,但有時我得到這個錯誤。
File "C:\User\Desktop\Script.py", line 58, in cmouse
win32api.SetCursorPos((int(x1 + var_x + i*(float(dis_x)/n)),
int(y1 + var_y + i*(float(dis_y)/n))))
error: (0, 'SetCursorPos', 'No error message is available')
我找不到任何方法來解決這個罕見但令人討厭的錯誤。我很確定它與win32api有關,但我正在尋求一些幫助。
爲什麼不在失敗函數週圍放置try/except塊並在失敗時打印參數? –
我對Python比較陌生,不知道如何去做你所要求的。 – nickrogers