★悩み★
・SikuliXである処理の繰り返し実行(loop)ってできる?
・forとwhileを使って、SikuliXで繰り返し実行できるのかな。
・繰り返し実行(loop)をSikuliXで記述する方法を知りたい。
こういった「悩み」に答えます。
★本記事の内容★
① SikuliXで繰り返し実行(loop)の方法【forとwhileを利用】
➁ 準備:SikuliXのインストールと起動
③ SikuliXのforで繰り返し実行(loop)する方法
④ SikuliXのwhileで繰り返し実行(loop)する方法
これからご紹介する「SikuliXのforとwhileで繰り返し実行(loop)」を実践したことで、30分以内で「SikuliXでforとwhikeを用いた繰り返し実行(loop)」を作れました(下の動画参照)。
記事の前半では「SikuliXのインストールや起動といった環境の準備」を解説します。
記事の後半では「forを使った繰り返し実行(loop)」や「whileを使った繰り返し実行(loop)」を実現する方法を紹介します。
この記事を読み終えることで、「SikuliXである処理の繰り返し実行(loop)」を作れる状態になります。
★SikuliXとは★
SikuliX(シクリ)とは、画像認識を用いたGUI操作自動化ツールです。簡単な操作で「エクセル入力の自動化」などに利用できます。「検索ボックスに検索ワードを入力して検索ボタンをクリックする」などの操作を自動化できます。
さらに詳しく知りたい方には、以下の記事がオススメです。
>> 【要点解説】SikuliXとは?を解消!3ステップで入門する方法を解説
ちなみに、筆者が2週間でSikuliXを学んだ方法や手順について以下で公開しています。皆様の学習の参考になれば嬉しいです。
>> SikuliXに0から入門し操作を自動化するまでのロードマップを公開中
SikuliXで繰り返し実行(loop)の方法【forとwhileを利用】
「SikuliXで繰り返し実行(loop)の方法【forとwhileを利用】」に関してご紹介します。
★SikuliXで繰り返し実行(loop)する方法と補足★
・SikuliXで繰り返し実行(loop)を実現する方法
・forとwhileの使い分け
以降で、上記「SikuliXで繰り返し実行(loop)する方法と補足」の各項目に関してご説明します。
SikuliXで繰り返し実行(loop)を実現する方法
「SikuliXで繰り返し実行(loop)を実現する方法」に関して解説します。
SikuliXで繰り返し実行(loop)を実現したい場合、2つの方法があります。
SikuliXで繰り返し実行(loop)を実現したい場合、以下の「for」または「while」を使います。
★SikuliXで繰り返し実行(loop)を実現する方法★
・forを使う
・whileを使う
「for」と「while」の構文や使い方に関しては、本記事の後半で解説します。
以上が、「SikuliXで繰り返し実行(loop)を実現する方法」となります。
forとwhileの使い分け
「forとwhileの使い分け」に関して解説します。
プログラムの可読性から、forとwhileを使い分ける方法を説明しますね。
繰り返し実行(loop)を実現できる「for」は、以下の特徴があります。
★forの特徴★
「値を格納した配列」、もしくは、「繰り返す回数」を指定して、繰り返し実行(loop)の回数を決定する。
また、繰り返し実行(loop)を実現できる「while」は、以下の特徴があります。
★whileの特徴★
繰り返し実行(loop)の回数は、「条件を満たすまで」となる。
上記の「forの特徴」と「whileの特徴」から、以下の使い分けをオススメします。
★forとwhileの使い分け★
繰り返す回数が決まっている場合、「for」を利用する。
繰り返す回数が決まっていない場合、「while」を利用する。
少し頑張れば、whileでも「繰り返す回数を指定した繰り返し実行(loop)」を記述できます。
ただし、プログラムの可読性が悪くなるためオススメはできません。
以上が、「forとwhileの使い分け」となります。
SikuliXで繰り返し実行(loop)を実現したい場合、「for」または「while」を使いましょう。
準備:SikuliXのインストールと起動
「準備:SikuliXのインストールと起動」に関してご紹介します。
★SikuliXでforとwhileで繰り返し実行(loop)を作るための準備手順★
手順1:SikuliXをインストール
手順2:SikuliXの起動
上記の流れで、「SikuliXでforとwhileを使った繰り返し実行(loop)を作るための環境準備」ができます。
上記の各手順は、以下の日時で動作確認済みです。
動作確認済み日時:2022年5月4日
以降で、上記「SikuliXでforとwhileで繰り返し実行(loop)を作るための準備手順」の各手順に関してご説明します。
手順1:SikuliXをインストール
「手順1:SikuliXをインストール」に関して説明します。
お使いのパソコンにSikuliXをインストールしましょう。
「SikuliXをWindowsにインストールする手順」に関しては、以下の記事をご覧ください。
>> 【Windows向け】SikuliXのインストール手順と基本的な使い方
「macOS(Mac)にインストールする手順」に関しては、以下の記事をご覧ください。
>> 【Mac向け】SikuliXのインストール手順と基本的な使い方
以上が、「手順1:SikuliXをインストール」となります。
手順2:SikuliXの起動
「手順2:SikuliXの起動」に関して説明します。
インストールしたSikuliXを起動し、「forとwhileを使った繰り返し実行(loop)のプログラム」を記載できる状態にしましょう。
「WindowsにインストールしたSikuliXを起動する手順」に関しては、以下の記事をご覧ください。
>> 【Windows向け】SikuliXのインストール手順と基本的な使い方
「macOS(Mac)にインストールしたSikuliXを起動する手順」に関しては、以下の記事をご覧ください。
>> 【Mac向け】SikuliXのインストール手順と基本的な使い方
以上が、「手順2:SikuliXの起動」となります。
Javaをインストールし、SikuliXのjarファイルをダウンロードすることで、簡単にSikuliXの環境を準備できます。
以降で、forとwhileを使った繰り返し実行(loop)に関して解説します。
SikuliXのforで繰り返し実行(loop)する方法
「SikuliXのforで繰り返し実行(loop)する方法」に関してご紹介します。
★SikuliXのforで繰り返し実行(loop)を実現★
① forの構文を解説
➁ SikuliXのforで繰り返し実行するプログラムを作成
SikuliXの「for」を使うことで、ある処理の繰り返し実行を実現できます。
上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2022年5月4日
動作確認済み環境:macOS Catalina
以降で、上記「SikuliXのforで繰り返し実行(loop)を実現」の各項目に関してご説明します。
forの構文を解説
「forの構文を解説」に関して説明します。
SikuliXで繰り返しを伴う処理を実現したい場合、1つの方法として「forの利用」があります。
SikuliXで「繰り返し実行」を作りたい場合、以下の「for」を使います。
★forのリファレンス★
処理:指定した回数だけ、以降の処理を繰り返し実行させる
使い方:for <変数> in <回数>
SikuliXの「for」を使った繰り返し実行(loop)の書き方としては、以下の4パターンがあります。
★forのパターン①:指定した回数だけ繰り返す★
・書き方
for <変数> in range(<回数>):
繰り返したい処理
・例
for loop_count in range(5):
print loop_count
・実行結果
「0」「1」「2」「3」「4」と順番に表示される。
★forのパターン➁:リストを使って繰り返す★
・書き方
for <変数> in <リスト>
繰り返したい処理
・例
items = [“apple”, “orange”]
for item in items:
print item
・実行結果
「apple」「orange」と順番に表示される。
★forのパターン➂:繰り返しの途中で抜ける★
・書き方
for <変数> in range(<回数>):
繰り返したい処理
if 条件:
break
・例
for loop_count in range(5):
print loop_count
if loop_count == 2:
break
・実行結果
「0」「1」「2」と順番に表示される。
★forのパターン④:条件を満たすとき処理をスキップする★
・書き方
for <変数> in range(<回数>):
if 条件:
continue
繰り返したい処理
・例
for loop_count in range(5):
if loop_count == 2:
continue
print loop_count
・実行結果
「0」「1」「3」「4」と順番に表示される。
以上が、「forの構文を解説」となります。
SikuliXのforで繰り返し実行するプログラムを作成
「SikuliXのforで繰り返し実行するプログラムを作成」に関して説明します。
SikuliXのforと使って、繰り返し実行(loop)するプログラムを作成してみましょう。
起動したSikuliX上において、「スクリーンショットを撮る」をクリックし、「Safariのアイコン」と「デスクトップの端」の画像を撮影しましょう。
その後、以下のプログラムを作成してください。
for now_count in range(0,3):
click("1651484534966.png")
sleep(3)
click(Region(90,110,41,31))
print "繰り返し数:" + str(now_count)
print "SikuliXでforによる繰り返しを実施しました。"
上記で使った関数を詳しく知りたい方は、以下の記事をご覧ください。
・click()について
>> SikuliXでマウスのクリックや移動操作を自動化
・sleep()について
>> SikuliXでよく使うコマンドの一覧
プログラム作成後、SikuliX上の「実行」ボタンをクリックします。
クリック後、下のデモ動画のように、SikuliXでforを使って繰り返し実行(loop)を実現できます。
以上が、「SikuliXのif文を使った条件分岐プログラムの作成と実行」となります。
SikuliXで「for」を使うことで、繰り返し実行(loop)を作ることができます。
SikuliXのwhileで繰り返し実行(loop)する方法
「SikuliXのwhileで繰り返し実行(loop)する方法」に関してご紹介します。
★SikuliXのwhileで繰り返し実行(loop)を実現★
① whileの構文を解説
➁ SikuliXのwhileで繰り返し実行するプログラムを作成
SikuliXの「while」を使うことで、ある処理の繰り返し実行を実現できます。
上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2022年5月4日
動作確認済み環境:macOS Catalina
以降で、上記「SikuliXのwhileで繰り返し実行(loop)を実現」の各項目に関してご説明します。
whileの構文を解説
「whileの構文を解説」に関して説明します。
SikuliXで繰り返しを伴う処理を実現したい場合、1つの方法として「whileの利用」があります。
SikuliXで「繰り返し実行」を作りたい場合、以下の「while」を使います。
★whileのリファレンス★
処理:指定した条件を満たすまで、以降の処理を繰り返し実行させる
使い方:while 条件
SikuliXの「while」を使った繰り返し実行(loop)の書き方としては、以下の4パターンがあります。
★whileのパターン①:条件を満たすまで繰り返す★
・書き方
while 条件:
繰り返したい処理
・例
loop_count = 0
while loop_count < 5:
print loop_count
loop_count = loop_count + 1
・実行結果
「0」「1」「2」「3」「4」と順番に表示される。
★whileのパターン➁:繰り返しの途中で抜ける★
・書き方
while 条件:
繰り返したい処理
if 条件:
break
・例
loop_count = 0
while loop_count < 5:
print loop_count
loop_count = loop_count + 1
if loop_count == 2:
break
・実行結果
「0」「1」「2」と順番に表示される。
★whileのパターン➂:条件を満たすとき処理をスキップする★
・書き方
while 条件:
if 条件:
continue
繰り返したい処理
・例
loop_count = 0
while loop_count < 5:
if loop_count == 2:
continue
print loop_count
loop_count = loop_count + 1
・実行結果
「0」「1」「3」「4」と順番に表示される。
★whileのパターン④:無限ループ★
・書き方
while True:
繰り返したい処理
・例
loop_count = 0
while True:
print loop_count
loop_count = loop_count + 1
・実行結果
「0」「1」「3」「4」….「1000」…と無限に数字が表示される。
以上が、「whileの構文を解説」となります。
SikuliXのwhileで繰り返し実行するプログラムを作成
「SikuliXのwhileで繰り返し実行するプログラムを作成」に関して説明します。
SikuliXのforと使って、繰り返し実行(loop)するプログラムを作成してみましょう。
起動したSikuliX上において、「スクリーンショットを撮る」をクリックし、「Safariのアイコン」と「デスクトップの端」の画像を撮影しましょう。
その後、以下のプログラムを作成してください。
max_count = 3
now_count = 0
while now_count < max_count:
click("1651484534966.png")
sleep(3)
click(Region(90,110,41,31))
print "繰り返し数:" + str(now_count)
now_count += 1
print "SikuliXでwhileによる繰り返しを実施しました。"
上記で使った関数を詳しく知りたい方は、以下の記事をご覧ください。
・click()について
>> SikuliXでマウスのクリックや移動操作を自動化
・sleep()について
>> SikuliXでよく使うコマンドの一覧
プログラム作成後、SikuliX上の「実行」ボタンをクリックします。
クリック後、下のデモ動画のように、SikuliXで「while」を使って繰り返し実行を実現できます。
以上が、「SikuliXのwhileで繰り返し実行するプログラムを作成」となります。
SikuliXで「while」を使うことで、繰り返し実行(loop)を作ることができます。
ちなみに、forやwhileを使って同じ画像を何回もクリックする場合、SikuliXの機能の1つであるgetLastMatch関数を使うことで、より高速な処理を実現できます。
>> SikuliXのmatch(getLastMatch)の使い方
また、「SikuliXをシステムで利用する場合の注意点」や「SikuliXでAndroidを操作する方法」などを知りたい方には、以下の記事で紹介している本がオススメです。
>> 【入門者向け】SikuliXの勉強に役に立つオススメ書籍3冊
【まとめ】SikuliXのforとwhileで繰り返し実行(loop)
いかがでしたでしょうか?
SikuliXで「for」と「while」を使って、繰り返し実行(loop)を実現するプログラムとデモ動画を用いて解説し、以下の悩みを解決しました。
★悩み★
・SikuliXである処理の繰り返し実行(loop)ってできる?
・forとwhileを使って、SikuliXで繰り返し実行できるのかな。
・繰り返し実行(loop)をSikuliXで記述する方法を知りたい。
画面操作の繰り返し実行(loop)を実現したい場合、SikuliXの利用を検討してみてください。
コメント