就業先では、RPAツールのBizRobo!を使用しています。BizRobo!開発で悩み、BizRobo!ナレッジベースで日々検索しています。
RPAは、さまざまなWebシステムの画面要素を取得することで、画面操作をすることができます。しかし、Webシステムはバージョンアップが行われるため、画面要素が変更になることは多々あります。画面要素を再度取得し直せれば問題ないのですが、BizRobo!の古いバージョンだと画面要素を取得できなくなることがあります。
今の就業先では、別RPAツールによる再開発を検討することがほとんどですが、その前にBizRobo!の環境を変更することで、対応できないか試します。
今回は、BizRobo!のDSで画面要素が掴めない場合の対処法について共有いたします。
※BizRobo!バージョンは、10.3.0.2です。
※時間が経過して変わってしまった箇所や間違っている箇所、不適切な表現があるかもしれませんが、その時は都度修正いたしますので、ご指摘いただけると幸いです。
DSの画面要素が掴めなかった場合のエラー
私が就業先で出くわした、DSの画面要素が掴めなかった場合のエラーは、「タグが見つからないエラー(Tag not found)」がほとんどです。
エラーの詳細と解決策は以下をご参考ください。
【解決策】[DS]画面遷移アクション(Load Page、Clickアクションなど)の後続ステップでタグが見つからないエラーが発生するときの対処方法
DSのWEBページ操作で「タイムアウトエラー(TimeOut)」や「タグが見つからないエラー(Tag not found)」が発生する場合の対処方法
DSの画面要素が掴めなかった場合の対処法
DSの画面要素が掴めなかった場合は、別RPAツールを試す前に、BizRobo!の設定をいくつか変更することを試します。試す方法をいくつかご紹介します。
SSL/TLS、HTTPユーザーエージェントを変更する
ロボットの設定>デフォルトオプション>すべてのローディングにある「SSL/TLS」、「HTTPユーザーエージェント」を変更することを試します。
参考になるURLは、以下の通りです。
指定したURLのページがDesign Studio上で表示されない場合の対応
JavaScriptの実行をオフにする
ロボットの設定>デフォルトオプション>JavaScript実行にある「JavaScriptの実行」のチェックを外すことを試します。
JavaScriptの実行を止めてしまうため、あまり成功したケースがないと主観的には感じています。
参考になるURLは以下の通りです。
内蔵ブラウザエンジン(Webkit/Classic)でサポートしていないJavaScript
ロボットをClassicに変更する
Classicとは、BizRobo!Basicが独自に作り上げたブラウザレンダリングエンジンで、IE8にもっとも近い動きをするように作られています。WebKitエンジンとは、エンジンの仕様が違うため、試す価値があります。ただし、内部ブラウザエンジンの採用されている技術が古いため、最新のブラウザにはたいできないケースが多いです。
参考になるURLは以下の通りです。
Classicエンジン と WebKit エンジンとの違い
【解決策】Webサイトを操作する際のWebブラウザエンジンの使い分けについて
WebサイトをChromiumで開く
Chromiumは、DSとDAの両方の特徴をもったブラウザエンジンです。Chromium は、既存のロボットと同様に DS/RS 上でバックグラウンド実行されます。また、DA のインターフェースを使用して、ロボットの作成を行います。
Chromiumで該当のWebサイトを開くことを試します。ただし、内部ブラウザエンジンの採用されている技術が古いため、最新のブラウザには対応できないケースが多いです。
参考になるURLは以下の通りです。
Chromium の概要
ChromiumでWebページを開く方法
最後に
BizRobo!【DS】画面要素が掴めない場合の対処法について解説いたしました。
BizRobo!のDSで画面要素が掴めない場合の対処法を整理しました。DSでの開発は1年強になりますが、DSで画面要素が取得できないケースにまだ慣れていないため、今回整理した方法を用いて、問題を解決していきたいと思います。
今回紹介した方法は内部ブラウザの技術が古いため、最新のWebシステムには対応していないケースが多いです。そのため、DSで画面要素が掴めない場合は、DAでの開発や別RPAツールでの開発を検討したほうがいいと思います。しかし、DA環境構築や別RPAツールでの開発は、金額の問題もあり、ハードルが高いため、その前に今回紹介した方法を試し、できるだけDSで開発できないか検討したいなと思います。
個人的には、いつかDAでの開発経験もできたらと考えています。
今回の記事が、RPA開発で悩んでいる人の為になれば幸いです。