pyautogui 每次点击都会崩溃
pyautogui crashes whenever it clicks
基本上,每当我调用 pyautogui 进行单击时,它都会执行,但随后会使程序崩溃。这是程序:
import pyautogui
import time
pyautogui.click(650, 200, 10)
print("started")
while 2 == 2:
x+1
waittime = random.randrange(35, 40, 1)
pyautogui.click(600, 680, waittime)
pyautogui.click(1270, 0, 5)
if (x % 4) == 0:
pyautogui.click(600, 550, 4)
当我从命令提示符 运行 它时,我得到这个错误
Traceback (most recent call last):
File "C:\Users\dogja\Desktop\crap\region2\scriptybob\test.py", line 3, in <module>
pyautogui.click(650, 200, 10)
File "C:\Users\dogja\AppData\Local\Programs\Python\Python35\lib\site- packages\pyautogui\__init__.py", line 362, in click
platformModule._click(x, y, 'left')
File "C:\Users\dogja\AppData\Local\Programs\Python\Python35\lib\site- packages\pyautogui\_pyautogui_win.py", line 437, in _click
_sendMouseEvent(MOUSEEVENTF_LEFTCLICK, x, y)
File "C:\Users\dogja\AppData\Local\Programs\Python\Python35\lib\site- packages\pyautogui\_pyautogui_win.py", line 480, in _sendMouseEvent
raise ctypes.WinError()
OSError: [WinError 127] The specified procedure could not be found.
问题可能是由于最新版本的 pyautogui 适用于 python 3.4,而最新版本是 3.5。我发现如果你是 运行ning Windows,你可以使用 win32api。要安装它,运行 管理员模式下的命令提示符和 cd 到你的 python 脚本目录和 运行 这个命令:
pip install win32api
这将安装 win32api 及其先决条件。
然后,要为 win32api 制作一个简单的点击包装器,请使用此函数:
def click(x,y):
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
这实际上是将光标移动到某处,按下鼠标左键,然后快速释放。我没有写上面显示的点击片段,但我找不到我首先找到它的地方。对写该片段的人表示抱歉。
可能您没有正确使用 click
功能。见函数定义:
click(x=None, y=None, clicks=1, interval=0.0, button='left',
duration=0.0, tween=, pause=None,
_pause=True)
使用 pyautogui.click(650, 200, 10)
表示 x=650、y=200 和点击次数=10。我猜你想说 pyautogui.click(650, 200, interval=10)
.
基本上,每当我调用 pyautogui 进行单击时,它都会执行,但随后会使程序崩溃。这是程序:
import pyautogui
import time
pyautogui.click(650, 200, 10)
print("started")
while 2 == 2:
x+1
waittime = random.randrange(35, 40, 1)
pyautogui.click(600, 680, waittime)
pyautogui.click(1270, 0, 5)
if (x % 4) == 0:
pyautogui.click(600, 550, 4)
当我从命令提示符 运行 它时,我得到这个错误
Traceback (most recent call last):
File "C:\Users\dogja\Desktop\crap\region2\scriptybob\test.py", line 3, in <module>
pyautogui.click(650, 200, 10)
File "C:\Users\dogja\AppData\Local\Programs\Python\Python35\lib\site- packages\pyautogui\__init__.py", line 362, in click
platformModule._click(x, y, 'left')
File "C:\Users\dogja\AppData\Local\Programs\Python\Python35\lib\site- packages\pyautogui\_pyautogui_win.py", line 437, in _click
_sendMouseEvent(MOUSEEVENTF_LEFTCLICK, x, y)
File "C:\Users\dogja\AppData\Local\Programs\Python\Python35\lib\site- packages\pyautogui\_pyautogui_win.py", line 480, in _sendMouseEvent
raise ctypes.WinError()
OSError: [WinError 127] The specified procedure could not be found.
问题可能是由于最新版本的 pyautogui 适用于 python 3.4,而最新版本是 3.5。我发现如果你是 运行ning Windows,你可以使用 win32api。要安装它,运行 管理员模式下的命令提示符和 cd 到你的 python 脚本目录和 运行 这个命令:
pip install win32api
这将安装 win32api 及其先决条件。
然后,要为 win32api 制作一个简单的点击包装器,请使用此函数:
def click(x,y):
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
这实际上是将光标移动到某处,按下鼠标左键,然后快速释放。我没有写上面显示的点击片段,但我找不到我首先找到它的地方。对写该片段的人表示抱歉。
可能您没有正确使用 click
功能。见函数定义:
click(x=None, y=None, clicks=1, interval=0.0, button='left', duration=0.0, tween=, pause=None, _pause=True)
使用 pyautogui.click(650, 200, 10)
表示 x=650、y=200 和点击次数=10。我猜你想说 pyautogui.click(650, 200, interval=10)
.