PyAutoGui 重复错误的鼠标位置

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

我开始学习 PyAutoGui,我正在阅读文档并观看教程。目前,我只是尝试获取鼠标在屏幕上的位置,但无论我如何移动鼠标,它都会不断重复相同的坐标。 这篇文章有类似的问题,但从未得到解答。 这篇文章也有类似的问题,但解决方案对我不起作用。

根据文档(和其他堆栈溢出帖子),获取鼠标逐秒 X-Y 位置的正确代码是:

import pyautogui 
import time 

print(pyautogui.size())
while True: 
    print (pyautogui.position())
    time.sleep(1)

打印输出如下所示:

Size(width=3840, height=1080)
Point(x=70, y=250)
Point(x=70, y=250)
Point(x=70, y=250)
Point(x=70, y=250)
Point(x=70, y=250)
Point(x=70, y=250)
Point(x=70, y=250)
Point(x=70, y=250)
Point(x=70, y=250)

无论我如何移动鼠标,X/70 Y/250 点都会重复到无穷大。我为此使用 VSCode 和 WSL2。重新启动、卸载和重新安装模块似乎也没有帮助。任何指导将不胜感激,谢谢!

我应该提到这个替代解决方案,实现回车符,也不起作用(如下),displayMousePosition()方法也不起作用

while True:
    try:
        x, y = pyautogui.position()
        positionStr = 'X: ' + str(x).rjust(4) + ' Y: ' + str(y).rjust(4)
        print(positionStr, end=' ')
        print('\b' * (len(positionStr) + 1), end='')
    except KeyboardInterrupt:
        print('\nDone')
        break
python-3.x pyautogui
2个回答
0
投票

已解决:我在 PC 上使用 WSL 运行此程序。事实证明,GUI 自动化库不能在 Linux 子系统中运行,而是需要在本机 Windows 环境中运行(即 Windows 用户使用 powershell,而不是 ubuntu/WSL)。


0
投票

我遇到了同样的错误,并且无法在库中找到解决方案。因此,我寻求的解决方案是手动拍摄显示器的完整屏幕截图,然后将屏幕截图导入 MS Paint 中,并记下 MS Paint 中图片中特定位置的 (x, y) 坐标

示例图像。矩形区域显示坐标aint。

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