3

基本的に、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.
4

2 に答える 2

1

この問題は、pyautogui の最新バージョンが 3.5 であるのに python 3.4 を対象としていたことが原因である可能性があります。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)

これは基本的に、カーソルをどこかに移動し、マウスの左ボタンを押して、非常に速く離します。上記のクリック スニペットは書きませんでしたが、最初に見つけた場所を見つけることができませんでした。そのスニペットを書いた人には申し訳ありません。

于 2016-04-25T23:53:21.433 に答える
1

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)

于 2016-07-11T20:01:33.520 に答える