WinActorでエラーがでた時の調査手順を解説
「スクリプトの実行に失敗しました」
ブラウザの起動に限りませんが、よく見る(あまり見たくない)エラーです。このエラーの調査方法について、ブラウザにおけるエラー事例を交えて説明します。
WinActorのエラー
WinActorはシナリオの途中でエラーが発生すると、エラーメッセージを表示し、シナリオが一時停止します。
エラーの原因には主に以下のようなものがあります。
①ノード設定にミスがある
②インターフェースの変更に伴いシナリオが更新されていない。
③シナリオ稼働に必要な元データが変更されている。
④例外対応が不十分なシナリオとなっている。
このように、基本の設定が間違っていなくても、その他の要因によってシナリオが停止してしまうことがあります。
エラーがでたときの調査手順
実際にエラーが出た場合は以下のような手順で原因を特定します。
1. エラーログの確認
WinActorはエラーが発生するとエラーログを出力します。エラーログは通常、WinActorのインストールフォルダ内の「logs」フォルダに保存されます。エラーログにはエラーが発生した日時、エラーの内容、エラーが発生したスクリプトや行番号など、エラーの原因を特定するための情報が詳細に記録されています。
2. デバッグ機能の利用
WinActorにはデバッグ機能が備わっており、スクリプトの実行を一時停止して変数の値を確認したり、ステップ実行を行うことができます。これにより、エラーが発生する直前の状態を確認し、エラーの原因を特定することが可能です。
3. シナリオの見直し
エラーの原因はシナリオの設計ミスによるものであることもあります。シナリオの動作を見直し、条件分岐やループ処理が正しく設定されているか確認します。
ブラウザのエラーでは「SPVエラー情報収取」ノードを上手に使う
ヒントはエラーメッセージの中にある「spv」です。WinActorにはSPVエラーを調べるための「SPVエラー情報収集」ノードがあります。
01_WinActor制御 > 07_デバッグ > SPVエラー情報収集
このノードは収集したエラー情報をクリップボードにコピーします。ライブラリの02_エラー処理にも「エラー情報収集」というノードがあります。こちらは実運用で起きたエラーの情報を残すためによく利用します。
では「SPVエラー情報収取」の使い方を見ていきましょう。例外処理でエラー発生のノードを囲み、その異常系処理の中にノードを配置します。例えば、ブラウザ起動でエラーが発生している場合は、以下の図のようになります。
実行すると、収集されたエラー情報はクリップボードにありますので、メモ帳などに貼り付けると表示させることができます。エラー情報は、例えば次のようになります。
ここから何がわかるでしょう。慣れないうちは「Error」「unkown」「not」「cannot」などのキーワードに注目すると良いでしょう。今回、例に示したエラー情報では1行目に
This version of ChromeDriver only supports Chrome version 89
Current browser version is 91.0.4472.124
とあります。つまり、WinActorのWebDriveでサポートしているChromeのversionは89だけですよ。ですがChromeのversionが91.0. 4472.124になっていますよ、という訳です。もうお分かりですよね、この例のエラー対処は、
- WinActorで使用するWebDriverを更新する
- もしくはWebDriverの自動更新機能がある、WinActor Ver 7.3にバージョンアップする
になります。
注意:
「SPVエラー情報収集」は調査に使用するだけです。調査が終わってエラーが解消したらシナリオから除外するのを忘れずに。
よく見るブラウザのエラー
この他にも、いろいろなエラーパターンがあります。よく見るエラーを表にまとめておきました。
エラーメッセージ | エラーの意味と対処 |
Chrome not reachable・・・ | Chromeが認識できていません。そもそもChromeが正しくインストールされているか確認しましょう。 |
unknown error・・・ | WebDriverが原因のことが多いです。「・・・」の詳細を確認しましょう。 |
element not interactable・・・ | よく起きるのはClick処理時です。ページ内のアクティブ遷移に追い付いていないことなどが考えられます。要素はあるけど、今はだめ(アクティブになっていない)というエラーです。この時はなぜ追いつかないか、もう少し調査が必要です。 |
element not visible・・・ | HTML上、要素が確定できいません。Xpathなどの見直しが必要です。 |
no such element・・・ | 存在はしているはずなのに要素が認識できない時のエラーです。Xpathが間違っている(IDが可変など)の可能性もあります。 |
HTML側に問題があることもあります。例えば、フレームワークを利用していたり、状態が変化する動的なスクリプトを使用していたりする場合です。例えば、HTMLソースにPHPやJavaScriptが
<script> ~ </script>
で含まれていて、対象要素もこの<script>タグで囲まれている場合です。これらのスクリプトがHTMLソースの対象要素を動的に変更することがあるので、ブラウザに表示され、WinActorで操作しようとした際、対象が見つからず取得不可、エラーとなることがあります。
また、静的なHTMLであってもテーブル構造(<td>要素など)にも注意が必要です。一般的なHTML構文なので取得できると思いがちですが、最近では作りが凝ったサイトが多く、テーブルも複雑で、要素取得が難しいというケースもあります。こういった作りの場合、Xpath指定では難しいので、「画像マッチング」をはじめとする「輪郭マッチング」、「OCRマッチング」、「エミュレーション」操作など、Xpathを使用せずに対処する方法もあります。
まとめ
シナリオ開発にエラーは付きもので、シナリオ開発の初心者もエキスパートも同じように苦労させられます。でも、たいていのエラーは誰かが経験済み(対処済み)で、教えてもらえれば、すぐに解決できます。逆に言えば、教えてもらえれば解決できるエラーを一人で悩んで時間が過ぎてしまうことほどもったいないことはありません。
CACでは、困った時に聞ける開発ヘルプデスクサービスも行っています。ご関心あればお問い合わせ下さい。
本記事のカテゴリ :RPA技術コラム
関連記事
-
ニーズに合ったRPA製品の選定で導入効果を最大化
-
2021/6/28 WinActor関連コラム
-
2021/6/28 WinActor関連コラム
PickUP
本記事に関連するCACのサービスやお役立ち情報をご紹介します。
RPA技術レポート無料ダウンロード
- 【コラム】WinActor ver7.5.0「シナリオ作成ガイド」で作ってみました
- 【コラム】 RPA導入・拡大の課題と解決 ―知っておきたい3つのTIPS
- 【コラム】RPA開発のポイント ―RPAを一人で始めて会社を巻き込む
- 【コラム】医療事務の現場 事務でRPAが求められる背景から対象業務、メリット、事例まで一挙解説!
- 【サービス】RPA開発/サポートサービス
- 【サービス】RPA+Oneソリューション
- 【サービス】RPA研修 自社開発イネーブルメントプログラム
- 【動画】CAC RPAセミナー オンデマンド
- 【資料ダウンロード】美しいコードをみると感動する、美しいワークフローの作り方|CAC RPA White Paper