top of page

SikuliXの基本操作(左メニュー編①)

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


SikuliX(シクリックス)の基本操作の内、今回は画面左側のメニュー(コマンドリスト)の使い方をご説明させていただきます。


その前にまずは起動方法です。



シクリックスがインストールされたフォルダーを開き「runsikulix.cmd」をダブルクリックすると起動します。


毎回フォルダーを開くのは面倒ですので、ショートカットを作っておくと便利だと思います。




上の図でオレンジで囲った部分が左メニューことコマンドリストです。

UiPathなど他のRPAを使ったことがある方はコマンドの数が極端に少ないことにお気づきだと思います。このコマンドの少なさがシクリックスの特徴です。


覚えることが少ないため、初めて触った方でも勘が良い方ですと30分程度で最初の

ロボットを作ることが可能です。


半面、繰り返しの処理や条件の分岐などを含んだ複雑なRPAは基本機能では作れません。

その部分をPythonやRubyなどのプログラミング言語で補う、というのがシクリックスの考え方です。


このことがシクリックスに他のRPAに存在しないメリットを生み出しています。


シクリックスのメリット

・Pythonの学習用の教材として使える。

・Pythonの情報はネット上にたくさんあり、それを活用することが可能。


人工知能の開発が実質Pythonに統一されたため、Pythonはこれからのビジネスマンが生き抜く上で重要なスキルとなりました。


Pythonのスキルが高まった場合、学習教材であるシクリックスが不要になるか、というとそのようなことはありません。これはRPAが他のプログラムを比べメンテナンス頻度が高く、シクリックスがプログラムのメンテナンスが容易、という点に寄ります。


実際に私もPythonを使えますが、RPAを作る際は可能な範囲シクリックスを使用するようにしています。私が不在の場合もメンテナンスできるようにするためです。





自動的にキャプチャーモードに移行

まず「自動的にキャプチャーモードに移行」に関して、ここは常時チェックでよいと思います。この意味はこの後でご説明させていただきます。



findとfindAll

画面の中から指定した画像を探す機能です。この2つの違いは、画面の中から一つだけを探すか、同じ画像をすべて探すかの違いです。


この機能は単独で使うことが少なく、Python等のプログラミング言語と組み合わせて使うことが大半です。初心者はあまり使わない機能です。そのため今回はご説明を省略させていただこうと思いますが、少しだけ触れさせていただきます。





このような形で使用します。画面上からEdgeのショートカットの画像を探しそれを変数rとする、次の行でr=ショートカットの画像をダブルクリックする、という方法です。


これは本来


doubleClick(画像)


の1行で済むため、findの行は不要だったことになります。これが初心者はfindをあまり使う必要がない理由です。


fildAllも少しだけご説明します。


r=findAll("画像ファイル名")

for box in r:

click(box)



こちらはチェックボックスをすべて探し、順番にクリックする、というコードです。


findとfindAllはこのようにPythonと組み合わせて使うことが多く、単独での使用は少ないと思います。いきなり初心者向けではないですね。すみません。



waitとwaitVanish

画面上に画像が現れるまで待機する、もしくは消えるまで待機する、という機能です。ブラウザ操作のように待ち時間が重要になる場合に使用します。公式は


wait(画像,最大待機時間)


となります。最大待機時間は省略可能です。シクリックスの仕様として覚えておいていただきたいのが、画像に探す場合、最大3行待機し、見つからない場合プログラムを停止する、という点です。


waitに関しても同様で、最大待機時間を指定しない場合、3秒だけ待ち、画像が現れない場合プログラムをストップします。3秒以上待機させたい場合、最大待機時間のところに数字を入れます。これは無限に待機し続ける、ということを避けるための機能です。


waitは画像を省略することも可能です。その場合、


wait(30)


というコードになり、これは30秒待機、という意味です。PRAの場合、パソコンが付いていけないほど高速で動かしてしまうと動作に失敗します。waitはこの書式で使うことも多いです。



exists

これもPythonと組み合わせて使います。初心者は無視していただいて結構ですが、それほど難しくはないと思います。具体的にはこのように使用します。


if exists("画像ファイル名"):

click("画像ファイル名")
















こちらは、最大化のボタンが画面内に存在するかを確認、存在する場合は押す、というコードです。



今回はここまでとさせていただきます。


SikuliX(シクリックス)はこのように、複雑なプログラムを組もうと思えば思うほど、プログラミングの知識が必要となります。ただ良いところが、Pythonという最重要の言語を習得できる点、Pythonが海外では小学校で教えている程度の簡単な言語であるという点です。



Comments


bottom of page