Помогите с заявлением if - PullRequest
       3

Помогите с заявлением if

2 голосов
/ 04 сентября 2010

Я пробую эту часть моего скрипта, и она отлично работает

if win32gui.GetCursorInfo()[1] == 65567:

, но когда я пытаюсь добавить это

win32gui.GetCursorInfo()[2] == categoriesScreenPos[1]:

, она перестает работать ... почему?

categoriesScreenPos[1] - это то же значение (17,242) позиции курсора, но if не работает ...

Full if:

if win32gui.GetCursorInfo()[1] == 65567 and win32gui.GetCursorInfo()[2] == categoriesScreenPos[1]:

То, что я пытаюсь сделать, это когда курсор находится в указанной позиции и имеет заданный значок, если прервется какое-то время.

ps: если я напечатаю обе команды следующим образом

print categoriesScreenPos[1]
print win32gui.GetCursorInfo()[2]

они дают мне тот же результат!

edit: не работает, потому что у меня разрыв внутри 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 Ответ

1 голос
/ 04 сентября 2010

Я думаю, что m_move(*loginScreenPos[0]) вызывает изменение координат мыши (потому что она перемещает мышь), и, следовательно, win32gui.GetCursorInfo()[2] - вы говорите, что print редактировали, но вы print это сразу после перемещения мыши в другое место?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...