top of page

SikuliX 画像の存在確認~あなたはそこにいますか?

執筆者の写真: まあさまあさ

今回は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"画像がありました。")

popup(u"画像はありませんでした。")


このインデントはPythonの大きな特徴です。VBAのIF文ではIFからend ifまでの範囲が処理内容になりますが、Pythonはend ifを省略、インデントされた範囲が処理内容となります。


RPAでもよく使うVBAに関してはこのインデントは意味を成しません。単に見やすさを上げるためのものです。ただPythonでは重要な意味を持つことになります。


ここ部分はPythonを使ったことがない方は慣れるまで時間がかかると思いますが、慣れると効率的で見やすいです。


私は他の言語でプログラムを書く際もPythonと同じ方法でインデントを行うようにしています。これは見やすさを上げるという目的と、言語ごとに書き方を変えると頭が混乱しますので、可能な範囲そろえてしまう、という2つの目的から行っています。



ということでif exists("画像ファイル名"):


便利ですのでぜひ活用していただければと思います。






Comments


bottom of page