【问题标题】:Python code "freezes" after calling pyautogui调用 pyautogui 后 Python 代码“冻结”
【发布时间】:2021-02-25 15:37:51
【问题描述】:

我想在 Windows 上自动执行一些点击。我为此使用 pyautogui。

但是当我的代码遇到 pyautogui.click(...) 时,它会执行它,而之后除了 pyautogui 之外没有执行任何其他代码。

当我启动此代码时(我通过 cmd 使用 python myFile.py 启动它):

import pyautogui

print("Hello, World!")
pyautogui.click(500, 500)
print("Hello, World! x2")

它输出:

你好,世界!

然后只有闪烁_

如果我按下任何按钮(例如 Enter),它会输出“Hello,World!x2”并将控制权返回给我(这样我就可以输入任何其他命令,例如 cls、dir 等)。

所以而不是(方式#1):

  1. 输出“你好,世界!”
  2. 点击坐标
  3. 输出“Hello, World! x2”
  4. 完成执行

确实如此(方式#2):

  1. 输出“你好,世界!”
  2. 点击坐标
  3. 在我按下按钮之前暂停。

这是为什么呢? 如何运行代码方式 #1?

顺便说一句,如果我写:

import pyautogui

print("Hello, World!")
pyautogui.click(500, 500)
pyautogui.click(600, 600)
print("Hello, World! x2")

确实点击两次,然后以同样的方式“冻结”。

【问题讨论】:

    标签: python python-3.x windows pyautogui


    【解决方案1】:

    只需确保单击位于命令提示符窗口之外。为此,您可以使用 pyautogui.mouseDownpyautogui.dragRel 配对。

    那么,那里到底发生了什么?如果在命令提示符窗口中单击,它会启动“选择模式”,并且代码会在后台运行,直到按下某个键。 More on what really goes on.

    我假设您希望自动化某些东西。我建议:制作一个 .bat 来搭配你的 .py 文件;然后,在命令提示符下使用 pyinstaller 创建一个 .exe 文件,并安排它根据需要经常启动。你可以关注this tutorial

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多