2016-04-24 175 views
3

就會崩潰,但是隨後我會打電話給pyautogui然後崩潰程序。這裏是程序: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. 
+0

你說得對。同樣的事情發生在這裏我想我也使用py 3.4!除了我沒有得到任何漂亮的錯誤消息。該應用程序只顯示死亡的崩潰對話框。 – 2016-06-26 16:52:21

回答

0

的問題可能已經被一個事實,即pyautogui最新版本的目的是爲引起python 3.4當最新版本是3.5時。我發現如果你正在運行windows,你可以使用win32api。安裝此運行管理模式和CD的cmd以你的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) 

這實質上是將光標移動到某處按下鼠標左鍵並釋放它非常快。我沒有寫上面顯示的點擊代碼片段,但是我找不到首先找到它的地方。對不起,誰寫了這個剪輯

+0

是的,但你怎麼做一個「按+拖動」包裝?如在pyautogui的dragTo()中?謝謝! – 2016-06-26 16:51:53

+1

我一直在嘗試一段時間,並告訴你它何時有效。現在它只是凍結光標。 – jaw2233

+0

你的意思是你無法獲得win32api來做到這一點?這不是個好消息!我也會嘗試調試pyautogui的崩潰或者讓win32api做拖動,併發布我的結果。 – 2016-06-27 18:39:14

1

也許你沒有正確使用click函數。見函數定義:

點擊(X =無,Y =無,點擊= 1,間隔= 0.0,按鈕= '左', 持續時間= 0.0,吐溫=,暫停=無, _pause = True)

使用pyautogui.click(650, 200, 10)您說的x = 650,y = 200,點擊數= 10。我想你想說pyautogui.click(650, 200, interval=10)