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

Python Spyder运行pyautogui.press报错position未定义问题咨询

报错原因及解决办法
  • 核心报错原因:你调用pyautogui.press()的传参格式不符合要求。该函数的第一个参数仅接收单个按键字符串或存储多个按键的列表,你将多个按键作为独立的位置参数依次传入,导致后续参数(按压次数、间隔时间)接收到了非法的字符串类型值,旧版本pyautogui的参数校验逻辑不完善,类型不匹配时抛出了不相关的NameError: name 'position' is not defined错误。
  • 正确的多按键调用写法:将需要按下的按键序列放到列表中,作为第一个参数传入即可正常运行:
import pyautogui as pag
import time

time.sleep(5)
# 按键序列放在列表中作为第一个参数
pag.press(['H', 'H', 'capslock', 'e', 'capslock', 'L', 'capslock', 'i', 'capslock'], interval=2)
  • 优化写法(无需手动操作Caps Lock):如果你的目标是输出指定大小写的文本,直接使用pyautogui.typewrite()方法即可,该方法会自动处理大小写逻辑,不需要手动切换大小写锁定键,代码更简洁不易出错:
import pyautogui as pag
import time

time.sleep(5)
# 直接传入要输出的文本,自动处理大小写
pag.typewrite("HHeLi", interval=2)
  • 可选优化:如果调整写法后仍有异常,可尝试升级pyautogui到最新版本,执行命令:pip install --upgrade pyautogui

内容的提问来源于stack exchange,提问作者Brian Jan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 11:27:00