Sikuliあれこれ | パークのソフトウエア開発者ブログ|ICT技術(Java・Android・iPhone・C・Ruby)なら株式会社パークにお任せください

パークのソフトウエア開発者ブログ|ICT技術(Java・Android・iPhone・C・Ruby)なら株式会社パークにお任せください

開発の解決方法や新しい手法の情報を、パークのエンジニアが提供します。パークのエンジニアが必要な場合は、ぜひお気軽にお問い合わせ下さい。 株式会社パーク:http://www.pa-rk.co.jp/

sikuliは画像認識を利用したGUI自動操作ツールです。

そんなsikuliを使った実装方法について記載します。

① 検索失敗例外(FindFailed)でも処理を止めない
  Find、Wait、Clickなどで対象が発見できなかった場合に、System Errorが発生してしまい処理が止まって しまいます。
そこで、例外処理(try、except)を記述し回避します。


try:
wait("1443602551072.png")
# 通常処理
except FindFailed:
# 例外処理

こんな使い方も
セーブボタンを押した後に、上書き確認があった場合の処理


② Findしたイメージの座標の取得

  g = find("xxxx.png")
print(g)

取得結果(赤文字が座標)
M[344,463 67x13]@S(S(0)[0,0 1366x768]) S:1.00 Target:377,469

③ 直接座標指定のClick
チェックボックスなどを、座標指定で直接クリックなどに
click(Location(200, 240))

④ キー処理

type(Key. ESC)
type(Key.TAB)
type(Key.DOWN*n)  #*n回実行
type(Key.ENTER)
type(Key. BACKSPACE)
type(Key. DELETE)
#キー処理複合
type(Key.RIGHT,KEY_CTRL | KEY_ALT) #エクセルで実行すると縦表示に!
type(“r”,KEY_WIN)  #ファイルを指定して実行


以上、どなたかのお役に立てれば幸いです