Sikuli - 画像が見つからないけどエラーにしたくない場合

Sikuliで長い処理をしてる途中で、画像が見つからずエラーになってしまい処理が途中で止まってしまうときがあります。
こんな時処理を見直して再度最初から実行・・・としていたのですが、それを回避する素晴らしい関数があることに気づきました。

それは「setFindFailedResponse(PROMPT)」です。

例えば次のようなコードを書いて実行します。

1
2
setFindFailedResponse(PROMPT)
find("1577880270644.png")

もし指定した画像が見つからなかった場合は、エラーになるのではなく下記の確認ダイアログが表示されます。

確認ダイアログ

  • Retry
    見つからなかった画像が表示されるように操作しておいてから、このボタンを押すと処理を再開することができます。
  • Capture/Skip
    指定していた画像を別の画像に置き換えたり(再度スクリーンショットをとる)、処理自体をスキップすることができます。
  • Abort
    処理を中断することができます。

この関数を見つけてから処理を途中から再実行することができるようになり、効率があがりました。