【Python】複数の任意の座標を順番どおりにオートクリックするスクリプト

本ブログはアフィリエイト広告を利用しています

WEB / アプリ
WEB / アプリ
この記事は約4分で読めます。

とっちゃん@nyanco! です。

今回は複数の任意の座標を任意の順番かつランダムな間隔をあけてオートクリックするPythonコードの共有です。

オートクリックは、実行するwebサイトやDappsによってはチート行為とみなされ、最悪アカウントBANなどのリスクが伴います。本記事で紹介するスクリプトの使用は自己責任でお願いいたします。

スポンサーリンク

コードの動作環境

  • OS:Windows10macOS Ventura 13.6.1
  • Pythonバージョン:3.11.2
  • 必要ライブラリ:
    • pyautogui(Pythonで自動化やGUI操作を行うためのライブラリ)
    • time(時間を扱うためのライブラリ。Python標準
    • random(乱数生成や要素のランダムな選択に使用。Python標準
    • pynput(マウスとキーボードのイベントを検知し、操作を制御するためのライブラリ)
    • threading(並列処理を実現するためのライブラリ。Python標準

必要ライブラリをインストールするコードは以下となります。

pip install pyautogui pynput

複数の任意の座標を順番どおりにオートクリックするスクリプト

早速ですがコードはこちら!

import pyautogui
import time
import random
from pynput import keyboard
import threading

# 座標のリスト
coordinates = [(10, 1000), (20, 1000), (200, 500)]

# クリック回数
click_count = 10

# プログラム終了フラグ
should_exit = False

def on_press(key):
    global should_exit
    if key == keyboard.Key.esc:
        print("escキーが押されました。プログラムを終了します。")
        should_exit = True
        return False  # リスナーを停止

# キーボードリスナーを別スレッドで開始
listener = keyboard.Listener(on_press=on_press)
listener.start()

print("プログラムが実行中です。escキーを押すと終了します。")

# メインループ
for i in range(click_count):
    if should_exit:
        break
    for coord in coordinates:
        if should_exit:
            break
        # マウスを座標に移動してクリック
        pyautogui.click(coord[0], coord[1])
        
        # 2〜6秒のランダムな間隔で待機
        wait_time = random.uniform(2, 6)
        time.sleep(wait_time)
    
    print(f"クリックセット {i+1} 完了")

if not should_exit:
    print("全てのクリック完了")

# リスナーを停止
listener.stop()

コードは自動生成AI「perplexity」で作成したものを元にカスタマイズしています。

自分用にカスタマイズする箇所はコチラ

  • 8行目:クリックさせたい座標を順番に複数指定
  • 11行目:クリックする回数を指定
  • 40行目:クリック間の待機時間を指定

以下、python実行後の流れです。

  • 実行すると8行目で指定した座標の順番通りにオートクリックが指定した回数分繰り返される
  • 途中で強制終了させたい場合は「ESC(エスケープキー)」を押す
肉玉にゃんこ

めちゃくちゃシンプルですにゃ〜

▼サクッとすぐに使えるように下記より.pyファイルのダウンロードも可能です(zip圧縮しています)。

→複数の任意の座標を順番どおりにクリックする.pyファイルをダウンロード

おわりに

本記事がどなたかの参考になれば幸いです。

今回は以上となります。
最後まで読んでいただきましてありがとうございました!
それではまた〜✧٩(ˊωˋ*)و✧

コメント