代码之家  ›  专栏  ›  技术社区  ›  Bruno 'Shady'

if语句帮助

  •  2
  • Bruno 'Shady'  · 技术社区  · 15 年前

    我正在尝试我的剧本的这一部分,它工作得很好

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

    但是当我想加上这个的时候

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

    这个 categoriesScreenPos[1] (17,242)

    完全 if :

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

    我尝试的是,当光标位于指定的位置并且有指定的图标时,if会中断一段时间。

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

    编辑:不工作,因为我有一个休息,如果里面,而仍然继续。。。但只有在第一个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 回复  |  直到 15 年前
        1
  •  1
  •   Alex Martelli    15 年前

    我认为 m_move(*loginScreenPos[0]) 导致鼠标坐标改变(因为它移动鼠标),因此也会改变 win32gui.GetCursorInfo()[2] --你说你 print 我知道,但你知道吗 打印 紧接着 把鼠标移到别处?