Pyautogui在MacBook上点击错误的位置



我正在尝试制作一个在屏幕上单击颜色的程序。然而,它在完全错误的位置点击。我将区域设置为与屏幕完全相同的分辨率。我甚至试着保存了屏幕截图,它看起来和预期的完全一样。

我在一台MacBook上,有人试着在windows PC上运行它,结果成功了。所以我认为我的MacBook可能存在缩放问题。

这是代码:

import pyautogui
import time
from itertools import product
color = (163, 194, 229)
time.sleep(5)
s = pyautogui.screenshot(region=(0, 0, 2560, 1600))
print(s.width, s.height)
for x, y in product(range(s.width), range(s.height)):
if s.getpixel((x, y))[:-1] == color:
print(x,y)
pyautogui.click(x, y)
break

(我排除了getpixel元组中的最后一个元素,因为出于某种原因,我的MacBook使用了第四个元素(

像素与屏幕坐标不同。如果你有Retina显示屏(2015年之后的许多苹果屏幕都有(,那么每个屏幕坐标都包含4个像素。

要获得正确的位置,请将像素坐标除以2。

最新更新