S-Collection株式会社 システムについて

S-Collection株式会社のシステムサポート事業

WinActorでのRPA開発~画面遷移のテクニック~

WinActorを使った開発テクニックの紹介【画面遷移】

WinActorでの開発において、画像認識は必須といってもいいぐらいの機能です。
ブラウザの読み込み完了や、Excelなどのファイルを開く時間は常に一定というわけではないです。
そのため、完了する前に次の処理を行おうとして、エラーになってしまうという事象が発生します。

そこで、簡単かつ確度の高い対策方法を紹介します。

1.準備

処理を作成するにあたり、必要な変数や初期値を設定します。

1.変数の宣言

以下の変数を用意してください。
・ループカウンタ
・処理結果
・待機時間
・リトライ回数

WinActorは、数値や文字列といった変数の型を宣言しておく必要はないことが利点です。

2.変数の初期値設定

変数の初期値設定は、2つの方法があります。
・変数一覧の初期値に入力する
・変数設定処理を使用する
結果は同じですので、どちらでもかまいません。

以下のように変数の初期値を設定してください。
・ループカウンタ:0
・処理結果:false
・待機時間:1000(ミリ秒)
・リトライ回数:10(目安ですので、こちらは任意の値でかまいません)

2.ループ条件設定

以下の条件を設定してください。
ループカウンタ < リトライ回数
AND 処理結果 = false

これにより、画像が認識されるかリトライ回数の上限を超えるまでは、処理が繰り返し行われます。

3.ループ内処理

1.指定時間待機

変数の値分待機する処理を使用します。
用意した待機時間を指定します。

2.画像認識

画像認識処理を使用します。
設定項目は以下のとおりです。

処理対象画面のタイトルなど極力限られた範囲を認識範囲として指定してください。
・ウィンドウ識別名:処理対象の画面
・マッチ率:40~60%
※数値が高すぎると画面が開かれているにも関わらず、認識しない可能性があります
タイムアウト:500
・状態取得結果:処理結果

3.ループカウンタカウントアップ

変数をカウントアップする処理があるので、用意したループカウンタを指定してください。

4.ループ後の処理

1.画像認識判定

以下の分岐条件式を設定してください。
処理結果 = true

これにより、処理結果が「true」であれば、画像認識成功、「false」であれば、画像認識がされないままにリトライ回数を超えてしまったことになります。
ですので、「false」になってしまった場合は以下の方法をお試しください。
・マッチング率を下げる
・画像の認識範囲を調整する
・待機時間を増やす

「true」の場合は、後続処理を追加することで対象の画面を確実に認識した状態にて、処理を行うことができます。

複数の画面を遷移する場合は、上記の手順を再利用すれば可能です。
ただし、ループカウンタと処理結果を初期化する処理が必要になります。

以上が、WinActorでの画面遷移のテクニックでした。
文字だけだと難しく感じるかもしれませんが、実際に試してみると、とても短く、シンプルで使い勝手がよい方法です。