使用 pyautogui 与多个显示器

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

我正在尝试使用 python 的 pyautogui 模块来自动执行鼠标点击和移动。然而,它似乎无法识别除我的主显示器之外的任何显示器,这意味着我无法在任何其他屏幕上输入任何操作,这对于我正在工作的项目来说是一个巨大的问题开。

我已经在谷歌上搜索了 2 个小时,但我找不到任何关于是否确实可以解决这个问题的直接答案。如果有人能告诉我这是可能的还是不可能的,告诉我如果是的话该怎么做,或者建议一个同样有效的替代方案(对于Python),我将非常感激。

python automation
3个回答
1
投票

是的,这是可能的!使用此代码确定鼠标在屏幕上注册的位置:

import pyautogui

print('Press Ctrl-C to quit.')

try:
    while True:
        x, y = pyautogui.position()
        positionStr = 'X: ' + str(x).rjust(4) + ' Y: ' + str(y).rjust(4)
        print(positionStr, end='')
        print('\b' * len(positionStr), end='', flush=True)

except KeyboardInterrupt:
    print('\nDone.')

这应该从命令提示符运行。如果通过 IDLE 运行,输出将是无意义的。


0
投票

不确定这是否清楚,但我从 0 中减去了扩展显示器的水平分辨率,因为我的第二个显示器位于主显示器的左侧。这让我避免了越界警告。我的答案可能不是最清楚的,但我想我应该插话让人们知道它实际上可以工作。


0
投票

抱歉,但文档说,现在仅运行 PyAutoGUI 仅处理常见问题解答中的主监视器:常见问题 https://pyautogui.readthedocs.io/en/latest/

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