You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pyautogui.locateOnScreen与position返回坐标不一致问题咨询

PyAutoGUI坐标不匹配问题排查

你的问题核心原因是Windows高DPI缩放导致的坐标偏移,旧版本PyAutoGUI(0.9.53)未自动适配系统缩放设置,当显示器启用缩放(比如200%)时,PyAutoGUI获取的屏幕坐标会是实际光标坐标的缩放倍数(你的案例里刚好是2倍),最终导致定位结果和实际位置不符,光标移到屏幕边缘。

解决办法有三种:

  • 调整程序兼容性设置:右键Python.exe或脚本快捷方式→属性→兼容性→勾选“替代高DPI缩放行为”,下拉选“应用程序”,重启程序后坐标即可匹配。
  • 手动修正坐标:获取定位结果后,按系统缩放比例(比如200%就除以2)修正数值,示例代码:
    box = pyautogui.locateOnScreen(img_path)
    # 假设缩放比例为2,根据实际情况调整
    scale = 2
    corrected_left = box.left // scale
    corrected_top = box.top // scale
    pyautogui.moveTo(corrected_left + box.width//(2*scale), corrected_top + box.height//(2*scale))
    
  • 升级PyAutoGUI版本:0.9.54及以上版本已修复高DPI适配问题,执行pip install --upgrade pyautogui升级后即可正常使用。

内容的提问来源于stack exchange,提问作者Kenny Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 16:25:21