UiPathのRPAチャレンジ「顧客データを登録するワークフロー」の解き方
ROOKIEプログラムというAI・RPA人材教育、育成、キャリア支援プラットフォームを提供しているPLAY株式会社の藤間です。
今回は、UiPathのRPAチャレンジ「顧客データを登録するワークフロー」解き方を共有します。
【問題】
【RPAチャレンジでダウンロードしたExcelファイル】
やる事は、
①Excel上の全ての顧客データを取得し、
②取得したデータを一行ずつRPAチャレンジのwebページに転記し登録する 事です。
①②の手順は以下です。
①Excel上の全てのデータを取得
・ダウンロードしたExcelファイルを任意のフォルダに置きます。
・「Excelアプリケーションスコープ」アクティビティで、パスを指定し、Excelファイルを読み取ります。
・「範囲を読み込み」アクティビティで、シート名(ここではSheet1)を指定し、Excelファイルの顧客情報データを取り出します。(出力変数を dt_excel としています。)
【出来上がったワークフロー】
なお、「範囲を読み込み」アクティビティのプロパティ設定で、「ヘッダーの追加」にチェックがついている事を確認ください。
②取得したデータを一行ずつRPAチャレンジのwebページに転記し登録する。
・「繰り返し(各行)」アクティビティで、excelデータを一行ずつ取得し、各行を変数rowに詰め込みます。これで、行単位で処理を実行できます。
・「ブラウザをアタッチ」アクティビティで、RPAチャレンジのwebページを指定します。
ここからが重要です!!!
アンカーベースを利用し、ロボットに入力欄のラベルを探させた上で、入力欄を指定する必要があります。
アンカーベースを使わずに、「文字を入力」アクティビティを利用するだけでは、うまくいきません。なぜなら、同じ入力欄であっても、ページによって、入力欄のセレクタが異なるからです。
例えば、以下の通り、ページによっては、同じselecterでも入力欄を認識出来たり、出来なかったりします。もちろん、項目の順番もページ間で異なるので、indexでの指定も出来ません。
それでは、アンカーベースを使い、入力欄を指定します。
「要素を探す」アクティビティで入力欄のラベルを指定し、「文字を入力」アクティビティで文字を入力します。
なお、入力データは、「row("ヘッダー名").ToString」で指定できます。
同様にして、他入力欄にも顧客情報データを入力するフローを作成し、「クリック」アクティビティでweb上の「登録」をクリックします。最後に、バックグラウンドでも動作するよう、各「文字を入力」アクティビティのプロパティで「入力をシミュレート」にチェックがある事を確認ください。
完成したワークフローは以下の通りです。
以上です。お疲れさまでした。
この記事が気に入ったらサポートをしてみませんか?