【備忘録】新！！UiPath セレクター(Selector)への変数設定方法

# はじめに
### 知っていましたか？
最近といっても少し前、いや結構前になるのですが、
セレクターに変数を持たせる方法が新しくなっていました。
新方法だと少し便利な点が増えていて感動したので、この感動を備忘録がてらご紹介します。

どういう時に、セレクターに変数を入れるの？という方は、以下の記事もご参考ください。
[【UiPath】初心者向け！！セレクターについてまとめてみた](https://qiita.com/chi_inamori/items/0cb8f51481374c1ddb48)


## セレクターに変数を入れる
以下では、[RPA challenge](https://rpachallenge.com/?lang=ja)というサイトの「住所」欄のセレクターを利用して説明していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/3bd88bef-5e1f-d607-a1c1-8c651715044c.png)

### ■旧方式(これまでのやり方)
今までは、
対象となるアクティビティのプロパティ> 入力>ターゲット>セレクター 欄にて、
以下のように変数を設定する必要がありました。
例：「住所」の部分を変数 strLabelName にする場合
![exChangeOld.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/53c27af0-33d5-6ad7-2c38-df31d0694951.png)

この方法は、
普段セレクターを調整する際に使用するセレクターエディター上では設定できない仕様だったので、
なかなか設定しにくい(慣れが必要な)方法でした。

また、変数を設定できても式エディターでの編集となるので、
設定後のセレクターが正しいのかの検証は、実際に実行(デバック実行)するしかなく。非常に不便でした。。
![exEditorOld.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/7a715c11-1d44-0011-6e43-42d608579102.png)



### ■新方式 New！！
新方式のやり方は、以下の通りです。
※以下はUiPathStudio v22.12.0 ComunityEditonで実施した場合です。
　バージョンによって方法や表示が異なりますので、
　使用されるバージョンのやり方が知りたい場合は、
　[UiPath Studio ガイド 「動的セレクター」](https://docs.uipath.com/studio/lang-ja/docs/dynamic-selectors)をご参考ください。(リンク先はv22.10のもの)
　→ ガイドを確認するに、v19.10以降より下記の新方式は利用できるようでした。

<手順>
①対象となるアクティビティにてセレクターエディターを開きます。
②[セレクターを編集]の欄にて、変数にしたい部分を選択し右クリック
　→ [変数を使用]を選択
![New2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/02decb3c-028f-d446-d42e-dd1f0ff9ec7a.png)


③変数を設定します。
　- 変数名に変数を指定し、[確認]ボタンをクリック　※既定値には指定した変数の既定値が入力されます。
![New3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/82fec30d-79d3-4c34-8b9f-c2e3eb0fa913.png)

④設定完了です。
　- バージョンによっては下記のようではなく、{{変数名}}といった表記になったりします。
![New4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/22064bae-6c1a-c03b-aa20-ded708e774ca.png)

　- プロパティ> 入力>ターゲット>セレクター 欄を確認すると、以下のようになっています。
![New4-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/cc6d08fd-6a5e-256b-2c75-9725fd6dde4c.png)


## ■新方式の便利な点

セレクターに指定した変数に既定値を設定することで、
既定値の値が入った場合の情報の要素があるか、セレクター検証ができるようになります。
いちいち実行しなくても検証できるなんて、便利です！！！


・変数strLabelName の既定値を"住所"にした場合
→ きちんと検証がOKになります。
![exSettingDefault1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/06b06b27-bb6a-cbe4-97fe-303e59b45fc7.png)
![ex1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/182909ee-8d3c-682d-cfd0-0cd202c3f26e.png)


・変数strLabelName の既定値を"**会社名**"にした場合
→ 「会社名」の欄が「住所」と同様にあるので、検証OKになります。
![exSettingDefault2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/e100ceac-1c03-a8af-a44b-fb725f9285c8.png)
![ex2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/c662fec5-abf0-e771-661f-7201e9eb9d71.png)


・変数strLabelNameの既定値を"**Address**"にした場合
→ 「Address」の欄はないので検証はNGになります。
![exSettingDefault3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/aba73892-665e-a948-a729-9722da1980cf.png)
![ex3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/72cd92c0-b79d-7340-2490-0511c8272c95.png)


# 最後に
私が初めてUiPathを触り始めたのが、2018年(v18.4)くらいからなので、
セレクターに変数を設定する方法は、旧方式で止まっていました。  ((結構最近まで、旧方式でしてました。。))

こんなに便利な方法が出ていたなんて露知らず。。きちんと最新情報追っていかないとダメですね。。
これからUiPathを触っていくという方には、この新方式をどんどん活用して頂きたいです！