Automation 360でよく使うアクションを安定させるためのTips

RPAの開発初心者の方が、よく悩まれるケースとして、本番運用の初回稼働は正常に動作できているのに、2回目以降が上手くいかないケースが多い、もしくはロボットが上手く動作するときと動作しない時があって、安定しないということはあるではないでしょうか。

初回稼働が上手く行ったということは設定が正しくされているはずなのに不安定な挙動。何が悪いのかとお困りのこともあると思います。

そこで、本コンテンツではAutomation 360で使用頻度の高いアクションで発生しやすい挙動の不安定さの解消方法をご紹介いたします。

「キャプチャ」機能を安定させるためのTips

オブジェクトの位置が不安定

ブジェクトの位置特定は基本的にプロパティの要素を設定することになります。ウェブサイトのソースによって選ぶプロパティの要素が変わりますが、以下4つの要素を押さえておけば基本的には大丈夫です。

  1. DOMXPath⇒そのwebサイト上のどこにあるのかという、所謂住所のようなもの
  2. HTML InnerTEXT⇒そのオブジェクトに何という「文字情報」が含まれているのかという情報
  3. HTML Href⇒オブジェクト内に埋め込まれているURL(リンク)
  4. Path⇒オブジェクトの位置情報を数値化して表したもの

※Path要素は可変の可能性が高いと言われておりますが、DOMXPathがない、またはDOMXPathだけでは特定できない場合は、Pathも併せて使うのが効果的です。

なお、繰り返しで複数のオブジェクトを順番に処理する場合、各要素の「一部分」が規則的に変わりますので、対象部分を変数で調整するなり、ワイルドカード「*」を使うのがお勧めです。

オブジェクトのプロパティ設定例

ロボットはチェックが入っているプロパティのみ確認します。チェックが入っているプロパティの「値」と一致するオブジェクトが対象となります。「値」が一致しない場合は見つからないとしますので、可変の場合は上記お伝えした通り、変数かワイルドカードで調整してください。

オブジェクトに対して「クリック」が安定しない

実行アクションに「クリック」と「左クリック」、どちらを選べばいいか、悩むことはありませんか?

推奨では、基本的に「クリック」を選択し、「クリック」が安定しない場合のみ「左クリック」を選びます。

理由としては、「クリック」はバックグラウンドでの処理のため、見た目上でほかのオブジェクトに邪魔されたり、見える範囲の画面で表示されていないことでオブジェクトの特定ができなかったりなど、そういう影響を受けにくいです。

ただし、一部のWebサイトでは、バックグラウンドでの処理が実行されない場合もありますので、「クリック」でうまく動作できない場合は、人が操作していると同じように、画面上で直接クリックする動作の「左クリック」を選ぶと正しく動作できるようになります。

「遅延」に関するTips

「遅延」アクションを使うにあたって起きる課題は以下の2点が考えられます。

処理が終わっていないのに次の処理が始まってしまう

前の処理が終わっていないにも関わらず、ロボットが次の処理を開始しようとしている/開始してしまう場合、前の処理と次の処理の間に十分な遅延時間を入れることで解消できます。

ロボットは命令した通りに素早く動くため、時間がかかる箇所には十分な遅延時間を入れないと端末がロボットのスピードに追い付かず、処理と画面の動きが入れ違いになってエラーが起こってしまいます。ですので、何回もロボットを動かしてみて、最大でかかる時間を遅延時間として設定すれば、端末とロボットの動きがマッチし、安定して動作をするようになります。

遅延だけだと処理と処理の間にムラが生まれてしまう

「遅延」を設定しているがネットワークや端末の状態によって処理にかかる時間が毎回変わってしまう為「遅延」を何秒で設定すれば良いのか分からない場合がそれにあたります。

このような場合は遅延の代わりに「待機」を使うことをお勧めします。

「待機」は「遅延」と違い、「ウィンドウを待つ」「条件が満たされるまで」という風に、具体的な内容で設定することが出来ます。処理時間が毎回大幅に変わる場合は、「待機」の「この条件が整うまで何秒待ちますか?」で最大でかかる時間より多めの秒数を設定することをお勧めします。

条件が満たされるまで待つの設定例

上記設定例のように、300秒と設定する場合、最大300秒までウィンドウが存在するかを確認し、ウィンドウが存在するまで次の処理に行かないです。逆に、ウィンドウが存在したら、300秒を待たずに、存在するこを確認したらすぐ次の処理に進めますので、無駄な待機時間を省けることもできます。

ウィンドウタイトルに関するTips

ウィンドウタイトルを取得する際に、「処理対象ウィンドウの特定ができず、エラーになる」というような事現象に直面したことはありませんか?

上記キャプチャのオブジェクトのプロパティ設定でもご紹介させていただいた、ワイルドカード「*」を使うと回避できます。

理由はとてもシンプルで、ウィンドウタイトルが「可変」と「固定」の要素が混ざっているため、固定値を設定すると処理対象ウィンドウの特定ができない場合があります。「可変」の要素を「*」に代用し、「固定」の要素のみ固定値として設定することで、固定要素以外の部分が変わっていてもウィンドウを特定することができます。

ワイルドカードを用いる際のポイントは以下2つがあり、

  1. 可変要素を特定する
  2. 処理したいサイト名やファイル名を特定できる部分の前後に付与する

例:毎月の実績レポートを作成する際に、ファイル名に当月の日付が入る場合

202404_配信実績レポート.xlsx – Excel

青いマーカー部分 ①日付 ②拡張子とExcel表記 の部分が可変要素なります。

  1.  日付
     月ごとに変わるので、毎回違います。
  2.  拡張子
     Excelのバージョンによって拡張子が表示する/しない場合がある、かつExcel表記がファイル名の前・後の可能性がありますので、不安定要素です。

よって、上記のケースの場合、ウィンドウタイトルは「*配信実績レポート*」をつけると、一番安定します。

ウィンドウタイトルの設定例

今回ご紹介させていただいたTipsは一番使われているものであり、それ以外でも様々な場面で「こう設定したら安定する」Tipsがたくさんあります。大事なのは、1個のアクションにこだわりすぎず、いろんなアクションの特徴を理解し、その時に一番最適なものを選ぶことです。

弊社ではそのような課題をいくつも解決してきた経験や実績があります。もしかしたら、今この記事をご覧になられている方が抱えている課題や問題解決の一助になれるかもしれません。今のRPA自動化になにかお困りのことがありましたら、是非お気軽に弊社までご相談ください。

本記事の執筆者

ペネトレイター株式会社 一