【やってみた・第2弾】続・RPA初心者が、路線情報から定期代を検索するロボットを作ってみた!

こんにちは!

株式会社電算システム(DSK)のRPAチーム末っ子です(*´ω`*)



前回、私の学習のために作った、

路線情報を検索するロボットをご紹介しました。↓↓

今回は、

その過程で工夫した点、苦労した点を中心に詳しくご紹介いたします!


今回の前提条件では、「最安運賃」を検索とあります。

つまり、駅名を入力した後、「料金の安い順」に並び替えなければなりません。

その際、まずは画像マッチングで実装してみたところ、

まずは広告が表示されるかどうか、

表示された場合その大きさによって押下できない場合があることがわかりました。


わたし「...(押下できなかった場合のために、様々な広告のサイズに対応した設定で画像マッチングを何パターンも分岐させて入れたらいいのかな...ちょっと果てしない作業だな...)」
大先輩「ん~IEなら、画像マッチングでクリックしなくても選択できるよ~!」
わたし「( ゚Д゚)!!!」


ということで実際に使ったのはこちら↓

ライブラリ\17_IE関連\02_クリック\IE操作(指定リンクをクリック)

こちらを使いました!


こちらは、クリック操作をするリンクを、

リンクに含まれる文字列で指定して押下するライブラリです。

私はここで、

「リンクのテキスト:値⇒料金の安い順」

と設定をしたところ、動作が安定しました。


ちなみにIE操作において、対象を画像以外で指定するやり方は他にもあります。


今回もう1つ、

「6か月定期代の最安値を取得」

という前提条件がありました。

この場合は、操作対象がリンクではないため、先ほどご紹介したライブラリは使えません。

最初は、

①ルート1の定期券リンクが表示されるまで画面を下にスクロール、

②画像マッチングで「定期券」のリンクをクリック、

③画像マッチングで定期代をダブルクリックし、

④選択された文字列の不要な部分を削除して金額だけに加工、

という流れで実装していましたが、

大先輩「リンクではなくても、クリックせずに中の文字列をとれるよ~!」
わたし「( ゚Д゚)!!!」
ライブラリ\17_IE関連\03_テキスト取得\IE操作(指定CLASS内のリンク先を取得)

これを使ったおかげで、

挙動が不安定なスクロール操作、画像マッチングの必要がなくなり、

ノード数をかなり少なくすることができました!


ノード数が少ないと、

当たり前ながらその分操作にかかる時間も安定性も向上します。

天才です。


ただ、この設定において、対象クラス名、インデックスは、

表示されている路線情報Webページを見ただけではわかりません。

Webページの裏側のタグ情報を使います。

そんな場合は、

開発段階でWebページ上でのクラス名、インデックスを調べておかなければなりません。

ライブラリ\17_IE関連\01_IEデバッグ\IE操作(Debug全タグ情報詳細版)


今回は学習のため、これを使いました。

対象のWebページの全タグ情報を、Excelに出力してくれます。

(ロボ実行の都度変わる情報ではないので、実行するシナリオには含めなくてもOK)

ただ、情報が多いページであれば、膨大なデータが出力されてしまうので、

このライブラリは用途に合わせてクラス名だけ、IDだけ、Nameだけなど

選べるよう複数用意されています。


そこで得た情報をもとに、今回は、先ほどご紹介したライブラリ、

ライブラリ\17_IE関連\03_テキスト取得\IE操作(指定CLASS内のリンク先を取得)

にて、

「フレーム番号:値⇒0  
 対象クラス名:値⇒detail commuterPass
 インデックス:値⇒1」

として設定をし、

得られた文字列(「1か月~6か月定期代○○円」までが取得されます)

を加工して6か月定期代の金額部分のみに、

さらにExcelに転記した際に数値として扱えるようにするところまで行いました。

6か月定期代を取得し、文字列を加工するサブルーチン。
6か月定期が存在しない場合のために、例外処理で分岐させています。



いかがでしょうか?

今回は、私がつまづいたIE操作関係の部分について、

詳しくご紹介してみました。

タグ指定ができる点は、使いこなせるととても便利ですね!


次回は、前回お知らせしたとおり、

いよいよ、

人間 対 ロボット

この対決を行ってみたいと思います!



私たち株式会社電算システム(DSK)は、

経験豊富な大先輩たちが、

お客様の現場業務の効率化のお悩みを解決します!

是非、お気軽にご相談ください!

今回のロボットを使って、人間と作業スピードを対戦してみました!↓↓

0コメント

  • 1000 / 1000


RPAで業務効率化 | 株式会社電算システム(DSK)

株式会社電算システム(DSK)は、業務自動化・効率化のプロとして、皆様の働き方改革のお悩みを解決します! お気軽にご相談ください!