如何 运行 Azure VM(或类似)中的图形自动化

How to run graphical automation in Azure VM (or similar)

我制作了一个 python 脚本,该脚本 运行 在大量 PDF 上使用 pyautogui(鼠标移动)实现图形自动化。 自动化似乎需要活动显示,以便鼠标移动和打开 PDF。 如果我使用 SSH 连接到 Azure VM(使用 Windows OS)并启动 python 脚本,我会从 pyautogui 收到如下错误:

pyautogui.FailSafeException:
    PyAutoGUI fail-safe triggered from mouse moving to a corner of the screen.
    To disable this fail-safe, set pyautogui.FAILSAFE to False.
    DISABLING FAIL-SAFE IS NOT RECOMMENDED.

我试过禁用故障安全功能,但仍然不起作用。 正如我所读,发生这种情况是因为没有打开活动显示。

如果我使用 RDP 连接到 VM,自动化会启动并按预期工作,直到我最小化或关闭 window。当我这样做时,我从 pyautogui 得到了相同的故障安全错误。 但我无法让 window 保持打开状态,因为我需要在另外 16 个 VM 上启动相同的自动化。

  1. 有没有办法在 Azure VM 或任何其他类似解决方案中 运行 这种图形自动化? Docker 也许吧?

  2. 有没有解决运行或host VM机器开启永久活动显示的问题?这样的事情可能吗?

我最终使用了 Virtual Box。

我首先使用所需的软件和文件创建了一个 VM。 您可以在无外设模式下启动 VM。然后显示 VM 以登录 Windows 并启动自动化脚本。然后你可以关闭虚拟机window让它在后台运行。在这种情况下,图形自动化仍然 运行 可以。 PyAutoGUI 不会像没有活动显示一样崩溃。

我将原始 VM 克隆了 16 次,并在 VM 之间平均分配了工作。

使用 ssh 我能够连接到每个 VM 并监控自动化的状态。

如果有类似于 kubernetes 的解决方案可以帮助部署此类自动化和监控状态,那就太好了,但在那之前没关系。