为什么代码在 IDE 和控制台上的工作方式不同?

问题描述 投票:0回答:1

我有使用 pyautogui

定位和单击按钮的简单代码
def click_at_button(button_name, count):
    count_tries = 0
    while True:
        try:
            time.sleep(1)
            button = pyautogui.locateOnScreen(
                button_name, confidence=0.8)
            if button:
                pyautogui.click(button)
                return True
            count_tries += 1
            if count_tries == count:
                return False
        except Exception:
            print(f"Loading object {button_name}")

它在 IDE 中运行完美,但在控制台中不起作用。

这就是我使用此功能的方式:

if __name__ == "__main__":
    if not click_at_button('data/image.png', 60):
        return

我尝试安装依赖项并在不同的 IDE 中运行

python pycharm console ide pyautogui
1个回答
0
投票

只需删除

return
块中的
if __name__ == '__main__':
语句即可。您可以将
return
替换为
print()
调用(或您想要的任何其他操作),如下所示:

if __name__ == "__main__":
    if click_at_button('data/image.png', 60):
        print('clicked')  # or any other message that you'd like
    else: 
       print('not clicked')  # or any other message that you'd like

或者,如果您觉得不需要采取任何行动,您可以完全省略

if
语句,

if __name__ == "__main__":
    click_at_button('data/image.png', 60) # just to check if it works

你也可以这样做:

if __name__ == "__main__":
    print(click_at_button('data/image.png', 60)) # print the result directly

直接打印结果(

True
False
)。

© www.soinside.com 2019 - 2024. All rights reserved.