帮助if语句

时间:2010-09-03 22:47:12

标签: python if-statement

我正在尝试我的脚本的这部分,它完美地运作

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

1 个答案:

答案 0 :(得分:1)

我认为m_move(*loginScreenPos[0])会导致鼠标坐标发生变化(因为它会移动鼠标),因此win32gui.GetCursorInfo()[2]也是如此 - 你说print编辑它,但是你做了print 将鼠标移动到其他地方后立即