2021-01-05

SikuliXでクリック間隔を調整する

SikuliXで操作するアプリケーションの中には、デフォルトのクリック速度(マウスダウンからアップまでの時間)だとクリックを認識できない場合があります。また、スマートフォンを操作する場合、タップやロングタップをしたいケースもあります。

これらの実現方法についてまとめます。


システム変数「Settings.ClickDelay」

クリック速度の微調整だけであれば、システム変数「Settings.ClickDelay」で調整できます。

# マウスダウンからアップするときの遅延時間 0.0 ~ 1.0(秒)
Settings.ClickDelay = 0.1

0~1秒の範囲で調整可能。1秒以上のクリックは次のmouseDown、mouseUpを使用したクリック処理を使うことで対応可能です。

タップ・ロングタップ処理

クリックを自由に調整したい場合、mouseDown、mouseUpを使用してクリック処理を実装することで実現可能。

# タップ処理 m:Match or Region オブジェクト sec:マウスダウン時間(秒)
def tap(m, sec):
	mouseMove(m)
	mouseDown(Button.LEFT)
	sleep(sec)
	mouseUp(Button.LEFT)

# タップ
def tap_s(m):
	tap(m, 0.05)

# ロングタップ
def tap_l(m):
	tap(m, 1.0)


# 使用例
m = find("1609741390982.png")
tap_l(m)
tap_s(m)

リモートでスマホ操作した時に作成した処理です。クリックメソッドを使わず、マウス移動、マウスダウン、アップを実装してタップとロングタップを実現しています。

0 件のコメント:

コメントを投稿