クリック位置をブレさせることやタイミングを変える関数作りましたので周回用スクリプトをアップデートしました。細かい説明は以下参照。
SikuliXの動作に不規則性を持たせる(クリック位置、タイミング)
汎用周回スクリプト改
import random import math from datetime import datetime global DEBUG global CLICK_DELAY_MIN global CLICK_DELAY_MAX ######################################### # 検索設定 ######################################### DEBUG = 1 # デバッグ表示 クリックしないでハイライト DEBUG = 0 # デバッグ無効 クリックする # クリック実行するまの遅延時間 sec CLICK_DELAY_MIN = 0 CLICK_DELAY_MAX = 1 # 検索範囲とするウインドウ名 WINDOW_NAME = "" IMGS = [ # ここに検索対象のイメージパターンを追加する ] ######################################### # 動作設定 ######################################### # 最小一致閾値 デフォルト 0.7 Settings.MinSimilarity = 0.80 # マウス移動のディレイ:0 = アニメーションなし Settings.MoveMouseDelay = 0.1 # マウスダウンからアップするときの遅延時間 0.0 ~ 1.0 #Settings.ClickDelay = 0.1 ######################################### # 処理 ######################################### # タップ処理 m:Match or Region オブジェクト sec:マウスダウン時間(秒) def tap(m, sec): # クリック位置を検索画像の範囲内でランダムに動かす # クリック位置が検索画像内にない場合は変更しない if math.fabs((m.x + (m.w/2))-m.getTarget().x) < 2: m.x = m.x + random.randint(-1*(m.w/2), (m.w/2)) if math.fabs((m.y + (m.h/2))-m.getTarget().y) < 2: m.y = m.y + random.randint(-1*(m.h/2), (m.h/2)) print("{} index:{} ({},{})".format(datetime.now().strftime("%H:%M:%S"),m.getIndex(), m.x, m.y)) # 0~3秒ランダムな遅延 sleep(random.randint(CLICK_DELAY_MIN, CLICK_DELAY_MAX)) if DEBUG: m.highlight(1,"blue") return mouseMove(m) mouseDown(Button.LEFT) sleep(sec) mouseUp(Button.LEFT) # タップ def tap_s(m): tap(m, 0.03) # ロングタップ def tap_l(m): tap(m, 1.0) # APPNAMEのウインドウを探してRegion(検索範囲)に設定 app = App.focus(WINDOW_NAME) reg = Region(App.focusedWindow()) reg.highlight(1,"green") # ループ while True: # 検索 ms = reg.findAnyList(IMGS) # 結果msはIMGSの順で見つかったものが格納される for m in ms: # クリック tap_s(m) # 最初に見つかったものだけ処理して終了 break sleep(1)