我在尝试我剧本的这一部分,它完美地发挥了作用
if win32gui.GetCursorInfo()[1] == 65567:
但当我想加上这个的时候
^{pr2}$它停止工作。。。为什么?在
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
我认为
m_move(*loginScreenPos[0])
会导致鼠标坐标发生变化(因为它会移动鼠标),因此win32gui.GetCursorInfo()[2]
你说你是print
修改的,但你是不是在移动鼠标到别处后立即print
它?在相关问题 更多 >
编程相关推荐