BizRobo! 【 DA 】画像抽出を有効活用しちゃおう!

RPA

すー
すー

まいど!福地です。

皆さんお元気にされてますか?台風が過ぎたとの急な気温の低下で体調を崩されたりしてませんか?

私はぴんぴんしております!

ただ久しぶりすぎてブログの書き方を忘れかけてたっていうのはここだけの話、、、

さて!今回は「DAを使った画像抽出の活用」について書きたいと思います(^^)/

この記事を読むことで

DAでエラー発生時の画面の取得

を学ぶ事ができます!

あくまで私目線での解説にはなりますが、1つのテクニックとして見ていただければと思います(「こんな活用方法もあるよ!」等ある方いらっしゃいましたら、遠慮せずコメントいただければと思います!!)

ロボット作成が初めましての方もいらっしゃると思いますので、一から新規ロボットを作成していきますね!(考え方を知りたい方は「準備」をすっ飛ばしてください!!)

今回使用のバージョン:11.1.0.6

【完成イメージ図】

準備

それでは早速!の前に、フォルダとファイルの準備をしたいと思います。

今回は

DAでエラーが生じた際、エラーで止まっている画面のキャプチャを取得して指定されたフォルダに出力する

フローを作成したいと思います!

このフローを入れる事でエラーとなった画面の状態を取得でき、そのまま処理が進んでしまってもエラー時の状況を的確に把握することができます。

ということで、まずは

①必要フォルダの作成

「configファイルの配置先フォルダ」「エラー画像出力先フォルダ」「configファイル」を準備します↓

configファイルは各フォルダのパス情報等が記述されたExcelファイルです。今回は「エラー画像出力先」のディレクトリを記載した内容とします(下図↓)

 

「configファイル」に関しては下記記事の「準備」を参照してください↓

②プロジェクトの作成

バージョン11からはDAのステップ(以下ステップではなくロボットと呼びます)が「.robot」単位になるので管理がしやすくなりましたね!

ロボットは「robot(その中にDAフォルダ作成)」、タイプは「type」フォルダとしてプロジェクトの中に作成することで、階層は1つ深くなりますが見やすいので私はいつもわけてます(*´▽`*)

まずはDAロボット2つ作成します(「DA_処理」はページの読込処理、「DA_画像出力」は「DA_処理」でエラーになった際の画面出力処理として使用)

次にタイプファイルですね!こちらは「config」というtypeを作成し、「エラー画像出力先(Short Text)」という変数を作成してください(configファイルのパスを入れる箱となります)

 

DAロボットの作成方法は「新規作成」から「Desktop Automationロボット(A)…」を選択↓

 

③typeの反映、変数の作成

最後に、「Webオートメーションロボット(青いロボットマーク)」のタブを選択し、右にある「データの状態」ウィンドウより作成したtypeと、下記変数を追加しましょう↓

・Configファイル(Short Text):デフォルト値にconfigファイルのフルパス(.xlsxまで含まれたパス)を設定

・エラー画像(Binary):DAで取得したエラーの画像を格納する変数

 

さて、ここまでが準備となります!お疲れさまでした!と言いたいところですが、ここからが本番です💦

もう少しお付き合いください(;´∀`)

 

画像を出力しよう!

さ!いよいよ開発ですね!少し長丁場になりますが、頑張っていきましょう(^^)/

大きく分けて7つの工程になります!

ここからは画像が多くなるので、画像に説明を入れていきますね(^^♪

①configファイルから情報を抽出しよう!

「Load File」ステップを追加し、「ファイル名」を変数に」変え、作成した変数「Configファイル」を選択(デフォルト値にconfigファイルのフルパスが入ってるので、変数を指定するだけでファイルを開けます)

 

エンドステップ(ステップ横にある小さい丸)をクリックしするとLoad Fileステップが実行されますので、ファイルが開いたのを確認できれば「アクションを選択」より「開く(読み取り専用)」を選択します(基本情報を抽出するだけなら「開く」を選択でOK!何か変更を加えるのであれば「変数として開く」を選択し、Excel変数を作成しましょう)

 

抽出したい情報(ここではディレクトリ)を選択し、右クリックをして「抽出」→「テキスト」→作成した変数「config.エラー画像出力先」を選択します

 

ステップを追加していくとどんどん横に長くなるので、今のうちにまとめれるステップはまとめておきましょう

 

②tryステップを入れよう!

エラー処理の分岐をここで作成しておきます(ステップに名前を入れておくと、tryステップが複数入っていても区別できます!tryステップに限らず、ステップに名前を入れておくとロボットがさらに見やすくなりますので、ぜひ癖付けておきましょう!)

 

③DAステップを入れよう!

tryステップの上の分岐に「Desktop Automationロボットの呼び出し」ステップを追加しましょう

 

追加したステップの操作画面(右)「Desktop Automationロボットを選択」より、「準備」で作成したDAロボット「DA_処理」を選択します

 

少しスクロールダウンし、「必要なデバイス」より設定した「DA端末」を選択しましょう。これを設定することで対象の端末を操作できます

Ver11のDAの設定、操作方法は下記のブログを参照ください↓

DMM WEBCAMP

 

④DAステップ内でエラーハンドリング処理を作成しよう!

「ステップイントゥ」ボタンを押してDAのステップを作成していきます(詳しくは上記のVer11のDAブログ参照)

 

「デバイス」にて設定しているデバイスを入力します。入力できれば一度ロボット自体に更新処理をかけてください(デバイスを設定しただけでは接続ができてません)。再度ステップイントゥにてDAステップに入り直し、接続できているか確認します

 

黄色いマーク直下の丸にて右クリックし、「参照ステップ(Ver10系統ではOpenステップ)」を選択します。

 

URLに開きたいURLを入力(ここでは私のホームページを開きます)

 ※ここから先はDA内のステップの分岐した時の設定になります。「TimeOutError」によりDAステップ事態がエラーになった時の挙動を作成します。

クリックステップを例に出しますと下図のように、対象の要素が見つからず、一定秒数が経過(デフォルトは60秒)したら下の分岐に行き、TimeOutErrorとなります↓

「TimeOutError」になった後、「ステップアウト(左赤丸)」をクリックするとDSロボット(Webキット)画面に戻ります

 

DAステップがエラーになります

 

⑤エラー処理を設定しよう!

DAステップの「エラー処理」タブを選択し、「次の処理」から「次の代替手段を試行」を選択後、「次のステップ」から「エラー処理」を選択します(API例外のチェックが入ってたら外しておいてください。入っていた場合、設定した分岐に行かずにエラーとして停まります)

 

⑥画像を取得するDAステップを設定しよう!

下の分岐にDAステップを挿入し、作成したDAロボット「DA_画像出力」を設定します

 

上の分岐で設定したDAステップ同様、「必要なデバイス」を設定します。次にDAステップで取得した画像のデータを受け取る変数を設定するため、「出力マッピング」より、作成した変数「エラー画像」を選択します

 

ステップイントゥでDAステップに入り、「出力値」にて「Binary」を選択します。(Binary:コンピュータで扱えるデータ。テキスト以外のデータ)ここを設定しないと、DAで取得した値の型がわからずDS側に値を渡せれないので必ず設定しましょう(出力マッピングで設定した変数の型と合わせておきましょう)

 

「変数」にて、DAステップ内で使用する変数を作成します(DSと同じで、変数名と型を設定)

 

「リターン」ステップにて、DS側に渡したい値を設定します(ここではDAで作成した変数「エラー画像」を設定。DAで変数を扱う場合は「=」を設定)

 

取得したい画面を選択(画像でいうところの緑枠)し、右クリック→「画像を次へ抽出」→作成した変数「エラー画像」を選択します

 

「ステップアウト(左赤丸)」をクリックし、DSロボット(Webキット)画面に戻ります

これで画像の取得は完成!あとは取得した画像を出力するだけ!もう少しです!(^^)!

 

⑦画像を出力しよう!

DAステップの後ろに「Write File」ステップを追加し、「ファイル名」「ファイルコンテンツ」をそれぞれ設定します(ファイル名はConfigファイルから抽出した値と任意のファイル名の組み合わせ。ファイルコンテンツはDAから取得した値の受け皿である変数を設定)

 

出力先に画像ファイルが出力されていることを確認します

最後に

お疲れさまでした!これで完成です!!ここまでご覧くださりありがとうございました( ;∀;)

少し内容が難しいところもあったかもしれませんが、これができれば確実にロボット作成スキルが上がっている!ハズ!!

エラー時の処理がしっかりしていると、使用する人が安心して使用できますね(^^)

冒頭でも言ったように、「こういう方法もあるよ!」「こっちの方が便利やで!」等ありましたら、どしどしコメントください!

ではでは、初めてBizRobo!を触る方が楽しくロボットを作れるよう、そしてBizRobo!を好きになってくれるようなサイトを心がけていきますので、これからもどうぞよろしくお願いいたします(*ノωノ)

目指せ!

今日からBizRober!

(∩´∀`)∩

コメント

タイトルとURLをコピーしました