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
程序目标: 打开 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