我正在尝试我的脚本的这部分,它完美地运作
if win32gui.GetCursorInfo()[1] == 65567:
但是当我试图添加这个
时win32gui.GetCursorInfo()[2] == categoriesScreenPos[1]:
它停止工作......为什么?
categoriesScreenPos[1]
与光标位置的值(17,242)
相同,但if不起作用...
完整if
:
if win32gui.GetCursorInfo()[1] == 65567 and win32gui.GetCursorInfo()[2] == categoriesScreenPos[1]:
我正在尝试的是,当光标位于指定位置且具有指定图标时,if会中断一段时间。
ps:如果我打印这两个命令
print categoriesScreenPos[1]
print win32gui.GetCursorInfo()[2]
他们给了我相同的结果!
编辑:不起作用,因为我在if中有一个休息,而while仍然继续...但只有第一个if语句,才能完美地工作。
对不起...... 脚本的完整部分:
while timer < timerMax:
timer = timer + 1
time.sleep(2)
m_move(*categoriesScreenPos[1])
time.sleep(2)
m_move(*loginScreenPos[0])
if win32gui.GetCursorInfo()[1] == 65567 and win32gui.GetCursorInfo()[2] == categoriesScreenPos[1]:
print '[' + time.strftime('%Y/%m/%d %H:%M:%S')+'] ' + 'Login Sucess'
break
if win32gui.GetCursorInfo()[1] == 65541:
time.sleep(0.2)
kbShell.SendKeys('{F2}')
print '[' + time.strftime('%Y/%m/%d %H:%M:%S')+'] ' + 'Login Failed'
break
答案 0 :(得分:1)
我认为m_move(*loginScreenPos[0])
会导致鼠标坐标发生变化(因为它会移动鼠标),因此win32gui.GetCursorInfo()[2]
也是如此 - 你说print
编辑它,但是你做了print
将鼠标移动到其他地方后立即