Skip to main content
 首页 » 编程设计

python之求助if语句

2025年05月04日9powertoolsteam

我正在尝试我的脚本的这一部分并且它工作得很好

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 break 一会儿。

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] -- 你说你打印了它,但你是否在将鼠标移到别处后立即打印它?