Python でオート クリッカーを作成する
-
pyautogui
モジュールを使用して Python でオート クリッカーを作成する -
win32api
を使用して Python でオート クリッカーを作成する -
pynput
モジュールを使用して Python でオート クリッカーを作成する - まとめ
名前が示すように、Python のオート クリッカーは、ユーザーの要件に従ってマウスを繰り返しクリックする単純な Python アプリケーションです。 速度、周波数、位置などのさまざまなパラメーターは、ユーザーに応じて変更できます。
Python には、キーボード、マウスなどのデバイスを制御するために使用できるさまざまなモジュールがあります。したがって、これらのモジュールを使用して Python でオート クリッカーを簡単に作成できます。
このチュートリアルでは、Python でオート クリッカーを作成するさまざまな方法を紹介します。
pyautogui
モジュールを使用して Python でオート クリッカーを作成する
pyautogui
モジュールは、デバイスのマウスとキーボードを制御するスクリプトを作成できます。
pyautogui.click()
関数を使用してマウスをクリックできます。 pyautogui.moveTo()
関数を使用してマウスを必要な位置に事前に移動し、カーソルの座標を指定できます。
これらの関数で自動クリッカーを作成するには、マウスを動かして for
ループを実行し、すべての繰り返しの pyautogui.click()
関数を実行します。 また、これが見えるようにするために、クリックするたびに少し遅れます。
遅延には time
モジュールの sleep()
関数を使用します。
以下のコードで自動クリッカーのロジックを実装します。
import pyautogui
import time
pyautogui.moveTo(600, 800)
for i in range(20):
time.sleep(0.1)
pyautogui.click()
上記の例では、カーソルを座標 (600,800)
に移動し、click()
関数を使用してマウスを 20 回クリックします。
win32api
を使用して Python でオート クリッカーを作成する
win32api
は、Windows COM オブジェクトの制御と自動化に使用されます。 win32con
モジュールからこれらのオブジェクトを使用して、マウス クリックを模倣することができます。
このために、win32api.mouse_event
関数を 2 回使用します。1 回目は win32con.MOUSEEVENTF_LEFTDOWN
用で、もう 1 回は win32con.MOUSEEVENTF_LEFTDOWN
用で、マウス クリックを模倣します。
win23api.SetCursorPos()
関数を使用して、カーソルの位置を必要な座標に設定します。 次に、前の方法で行ったのと同様のアプローチを使用して、Python で自動クリッカーを作成します。
以下のコードを参照してください。
import win32api
import win32con
import time
win32api.SetCursorPos((600, 800))
for i in range(20):
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 600, 800, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 600, 800, 0, 0)
time.sleep(0.1)
pynput
モジュールを使用して Python でオート クリッカーを作成する
また、Python スクリプトでマウスとキーボードのアクションを自動化するための pynput
もあります。 このメソッドは、オート クリッカーを作成するために必要な機能を備えたクラスを作成するため、前の 2つとは異なります。
特定のキーが押されたときに自動クリッカーとして機能するクラスを作成します。 クリックを止めるために別のキーが割り当てられます。
pynput.mouse
と pynput.keyboard
モジュールの両方をインポートする必要があります。
作成されたクラスは threading.Thread
クラスに拡張されるため、さまざまな機能でスレッドを制御できます。
クラスの __init__
メソッドでは、前に行ったように各クリックの間にわずかな遅延を指定し、Button.Left
オブジェクトを使用してマウスの左ボタンをクリックすることを示します。
スレッドは、クリックを停止するキーが押されるまで実行され続けます。 threading.Thread
クラスの start()
メソッドを使用して、クリックを開始します。
running()
メソッドでは、Controller
クラス オブジェクトも使用します。
スレッドを開始および停止するには、関数を作成します。 Listener()
関数は、on_press
引数を使用してキーを押している間、定義された関数を実行します。
このロジックは、以下のコードに実装されています。
import time
import threading
from pynput.mouse import Button, Controller
from pynput.keyboard import Listener, KeyCode
start_end = KeyCode(char="a")
exit_key = KeyCode(char="z")
class auto_clicker_class(threading.Thread):
def __init__(self):
super(auto_clicker_class, self).__init__()
self.delay = 0.1
self.button = Button.left
self.running = False
self.program_run = True
def begin_clicking(self):
self.running = True
def clicking_stop(self):
self.running = False
def exit(self):
self.clicking_stop()
self.program_run = False
def run(self):
while self.program_run:
while self.running:
mouse_ob.click(self.button)
time.sleep(self.delay)
time.sleep(0.1)
mouse_ob = Controller()
t = auto_clicker_class()
t.start()
def fun(k):
if k == start_end:
if t.running:
t.clicking_stop()
else:
t.begin_clicking()
elif k == exit_key:
t.exit()
listener.stop()
with Listener(on_press=fun) as listener:
listener.join()
まとめ
このチュートリアルでは、自動クリッカーについて説明しました。 最初の 2つの方法は、マウス クリックを模倣するために for
ループを使用して数回繰り返される関数を実行するため、比較的単純です。
最後のメソッドは、キーボードで押されたキーに基づいてクリックを開始および停止できる適切な自動クリッカー スクリプトを Python で作成します。
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn