sikuliX教程:基礎命令及操作


SikuliXの基本命令

鍵盤操作

type(Key.TAB)
→TABキーを押す

type(Key.ENTER)
→ENTERキーを押す

type(“a”,Key.CTRL)
→全てを選択

type(“c”,Key.CTRL)t
→コピー(Ctrl+C)

type(“v”,Key.CTRL)
→ペースト(Ctrl+V)

type(Key.RIGHT)
→右キーを押す

type(Key.LEFT)
→左キーを押す

type(Key.DOWN)
→下キーを押す

type(Key.UP)
→上キーを押す

paste()
→引數に指定した文字列をペースト
*日本語の文字列をペーストする場合、paste(u”ほげほげ”)、というように記述すると文字化けせずにペーストできる。

鼠標操作

click(img)
→引數で指定されたイメージを左クリック

rightClick(img)
→引數で指定されたイメージを右クリック

doubleClick(img)
→引數で指定されたイメージをダブルクリック

mouseMove(10, 50)
→x軸に10、y軸に50、マウスを動かす

wheel(WHEEL_UP, 10)
→マウスホイールを10、上に動かす

待機函數

wait([img,][])
→第1引數にイメージを指定した場合、第2引數で指定した秒數、第1引數のイメージ
が表示されるまで待つ。第1引數がない場合は、その秒數だけ一時停止する。

waitVanish(img[,])
→第1引數のイメージが畫面上から消去されるのを、第2引數で指定した秒數だけ待つ。

exists(image[,])
→第1引數のイメージが畫面上に表示されているか調べ、表示されていない場合、第
2引數で指定した秒數表示されるまで待つ。表示が確認できなかった場合には
False,できた場合Trueを返す。

強制プログラム停止
[Ctrl] + [Shift] + [C]
→想定と異なる動きをした際に強制停止させるショートカットキー。

SikuliX的小技巧

指定の數、もしくはランダムな數、↓キーボードを押す

・↓キーを10回押す

実行回數

num = 10

繰り返し処理

for i in range(num):
  type(Key.DOWN)

・↓キーを5〜15の範囲で押す

モジュールインポート

import random

5〜15の範囲の実行回數

num = random.randint(5, 15)

繰り返し処理

for j in range(num_num):
  type(Key.DOWN)

クリック範囲を限定する

  1. Regionをクリックし、範囲を指定
    image

  2. 指定した範囲畫像を変數に格納してwith文と共にclick()関數を使用する。

image

*限定するメリット:畫像認識速度の向上。同一アイコンが一畫面に複數ある場合、限定することで想定外の畫像をクリックすることを防げる。

畫像の內容に応じてクリック箇所を変える

・畫像1だったらimg1をクリック、畫像2だったらimg2をクリック、それ以外はimg3をクリック
if exists(畫像1):
  click(img1)
elif exists(畫像2):
  click(img2)
else:
  click(img3)

・畫像1だったら畫像1をクリック、畫像2だったら畫像2をクリック、それ以外はimg3をクリック
if exists(畫像1):
  click(getLastMatch())
elif exists(畫像2):
  click(getLastMatch())
else:
  click(img3)
→exists()で存在しているかを既に確認しているため、再度click()で畫像認識する時間の無駄を避けるため、最後に畫像マッチングしたときの結果を返してくれる”getLastMatchメソッド”を使う。

特定畫像を見つけそこを起點に離れた箇所をクリックする

・畫像1の40下をダブルクリック
target = find(畫像1).below(40)
doubleClick(target)

スクリーンショットを撮る(3つのキー同時押し)

type(“3”, Key.CMD + Key.SHIFT)

*macOSの場合。

以上、SikuliX(シクリ)の基本コマンドと小ワザ集でした。最低限これを知っておけば大體どのような操作にも応用可能です。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM