今回はSikuliX(シクリックス)でよく使う公式をご紹介します。
画像の存在を確認する公式です。

import sys
reload(sys)
sys.setdefaultencoding('utf-8')#文字コードを変更
if exists("画像ファイル名"):
popup(u"画像がありました。")
else:
popup(u"画像はありませんでした。")
今回重要なのはこの部分です。
if exists("画像ファイル名"):
指定した画像が画面内に存在するか否かを確認し、結果によってその後の処理を分岐させる機能があります。
使う場面としては、
・システムで検索、結果の件数により処理を分岐させる。
・ウインドウが最大化されているか否かを確認、最大化されていない場合は最大化する。
・文字を入力した後、正しく入力されたか確認、失敗している場合再度入力する。
といったものが考えられます。
使う頻度が高い式ですのでぜひ活用ください。
PythonのIF文とシクリックスのexistsの組み合わせです。
インデントという言葉をご存じでしょうか。
この場合popupの前の2か所、字下げがされています。
インデントはタブキー一回か、スペースキー4回を用います。
if exists("画像ファイル名"): #画像が存在した場合の処理
popup(u"画像がありました。")
else: #画像が存在しなかった場合の処理
popup(u"画像はありませんでした。")
このインデントはPythonの大きな特徴です。VBAのIF文ではIFからend ifまでの範囲が処理内容になりますが、Pythonはend ifを省略、インデントされた範囲が処理内容となります。
RPAでもよく使うVBAに関してはこのインデントは意味を成しません。単に見やすさを上げるためのものです。ただPythonでは重要な意味を持つことになります。
ここ部分はPythonを使ったことがない方は慣れるまで時間がかかると思いますが、慣れると効率的で見やすいです。
私は他の言語でプログラムを書く際もPythonと同じ方法でインデントを行うようにしています。これは見やすさを上げるという目的と、言語ごとに書き方を変えると頭が混乱しますので、可能な範囲そろえてしまう、という2つの目的から行っています。
ということでif exists("画像ファイル名"):
便利ですのでぜひ活用していただければと思います。
Comments