官方文档:https://pyautogui.readthedocs.io/en/latest/
中文文档:https://asyncfor.com/posts/doc-pyautogui.html
osx版本 10.15
python3 3.6.5
1.安装pyautogui
python3 -m pip install pyautogui
2.mac高分屏会导致的坐标问题
mac显示器分辨率为2560x1600,设置了更多缩放,显示建议分辨率为1680x1050
print(pyautogui.size())
Size(width=1680, height=1050)
调试代码,结果正常
然而click时却发现鼠标一直在右下角,最终发现了原因
print(pyautogui.screenshot())
<PIL.PngImagePlugin.PngImageFile image mode=RGBA size=3360x2100 at 0x102DF9A58>
是的,截图是分辨率为3360x2100,并不是1680x1050
至于原因,网上有个说法,Retina高分屏实际分辨率是2倍,应该是这个问题所在
解决办法
def scaleClick(ret):
x,y = ret
pyautogui.click(x*1680/3360,y*1050/2100)
ret = pyautogui.locateCenterOnScreen("test.png")
if ret:
scaleClick(ret)