这是 Shell 的完整回溯:
File "C:\Users\Sean\Documents\pyships\mouseclicker.py", line 22, in <module>
pyautogui.click()
File "C:\Users\Sean\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyautogui\__init__.py", line 362, in click
platformModule._click(x, y, 'left')
File "C:\Users\Sean\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyautogui\_pyautogui_win.py", line 437, in _click
_sendMouseEvent(MOUSEEVENTF_LEFTCLICK, x, y)
File "C:\Users\Sean\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyautogui\_pyautogui_win.py", line 480, in _sendMouseEvent
raise ctypes.WinError()
PermissionError: [WinError 5] Access is denied.
我目前不好的解决方法是在 _pyautogui_win.py 中注释掉以下行:
if ctypes.windll.kernel32.GetLastError() != 0:
raise ctypes.WinError()
Python 以管理员模式运行,不知道如何正确解决此问题。特别是因为它昨天还在工作,今天才抛出错误。最奇怪的部分是它实际上执行了点击,然后挂起脚本。
导致它的特定代码行是:
pyautogui.press('d')
pyautogui.click()
pyautogui.keyUp('d')
如果有人知道将键修饰符附加到点击的更好方法,那也很棒!