Python: PyAutoGui点击位置在使用图片定位时偏移了几个像素

Python: PyAutoGui click location is off by a few pixels when using an image to locate

程序目标: 打开 web 浏览器选项卡到 youtube,使用 Youtube 主屏幕上 "Youtube" 按钮的保存图像移动鼠标位置到那个位置,在那里点击鼠标

问题: 在执行 click() 步骤时,鼠标移动到偏离几个像素(-29 x,-35 y)的位置。坐标在 locateCenterOnScreen 时是正确的,但在单击时不同()

我试过的方法: 我让程序在获取图片位置时打印出图片的坐标,并且在那个时间点坐标是正确的,我使用了一个鼠标位置程序,用于缩小其偏移量。

我的问题: 是什么导致 click() 的位置偏移了这几个像素,我该如何解决?

import pyautogui as auto
import webbrowser
import time


site = "https://www.youtube.com/"
webbrowser.open_new_tab(site)
time.sleep(5)
x, y = auto.locateCenterOnScreen('test.png')
print(x)
print(y)
try:
    auto.click(x,y)
except:
    print("Not Found")

我最终重新拍摄了用于程序定位的照片,现在可以使用了。我不确定为什么原来的那个没有按预期工作。

可能您的 window 已调整大小,因此您要查找的图像的宽度和高度也发生了变化。 我推荐使用:

win = pygetwindow.getWindowsWithTitle('windownname')[0]
win.size = (1600, 900)

调整 window