【Uipath】セレクターを変数化する(動的セレクター) 【StudyRPA】
こんにちは!
今回はセレクターを変数化して、動的に対象を選択する方法をご説明致します。
セレクターを変数化する方法は大きく2つあり、どちらも同じ動きをします。
システムによっては動かない場合もありますので、その場合は動く方を利用して下さい。
-
UiPathの機能を利用する方法
UiPathの機能を利用し、セレクターエディター画面からセレクターを変数にする方法を記載します。
まずは、対象となるセレクター情報を取得します。
今回は赤線が引かれた「editable text」部分を変数化します。
まずは、変数を作成します。わかりやすいように「動的セレクター」という変数を作成しました。変数に置き換えられているかを検証するため、既定値に置き換え前の"editable text"を入力しておきます。
置き換え対象を選択後、右クリックを押し、「変数を選択」をクリックします。(対象を選択後、Ctrl + スペースでも可能)
下記ウィンドウが表示されるので、置換える変数をダブルクリックします。すると、対象の値が変数に置き換わります。
今回は、あらかじめ変数の既定値に元の値を入れていたため、
「検証」ボタンを押下することで、セレクターが正常に認識できていることが、
確認できます。
※注意点
この方法は、簡単に変数に置き換えることができますが、対象のシステムによって動作しない場合があります。
その場合は、次に記載する「UiPathの機能を利用しない方法」をお試しください。 - UiPathの機能を利用しない方法
次にUiPathの機能を利用しない方法について、ご説明致します。
先ほどと同様に、対象となるアクティビティのセレクター情報を取得し、変数を作成します。
次にセレクターを取得したアクティビティのプロパティを開きます。
ターゲット>セレクターのテキストボックスをクリックし、
Ctrl + Aで全選択後にコピーします。
メモ帳を開きコピーしたセレクター情報を貼り付けます。
※注意①
下記画像の様にセレクターが1行ではなく改行されている場合は、バックスペースなどで改行を取り除き、1行にしてください。
※注意②
セレクター情報全体が「"(ダブルクォーテーション)」で囲われていない場合は、セレクターの両端に「”(ダブルクォーテーション)」を足してください。
対象となる値を以下のように修正します。
修正前)role='editable text'
修正後)role='"& 動的セレクター &"'
※Point!
「'」で囲われた値を「"& 変数 &"」に変換するだけです!
最後に、メモ帳で修正したセレクターを全選択し、コピーして元のテキストボックスに貼り付ければ完了です。
貼り付け後、テキストボックスの右にある「...」ボタンをクリックし、
下記の様に「式エディター」となっていれば成功です。
少し複雑に思うかもしれませんが慣れれば手間もなく、こちらのやり方の方が動作が安定します。
※Point!
この方法でエラーになる場合は、以下が考えられます。
- セレクターの両端が「"」で囲われていない。
- 変数がIntやObject型の場合、「.ToString」をつける必要がある。
⇨for each rowアクティビティのrow変数を利用する場合にも、
row(0).ToStringとする必要があります。