【Blue Prism】操作ステージのアクション「リストアイテムの選択」でドロップボックスの項目を選択できない場合の対処法

## はじめに
Blue Prismを用いてWebブラウザなどにあるドロップボックスを操作したい場合に、「リストアイテムの選択」や「アイテムを選択」を使用するかと思います。
しかし、「リストアイテムの選択」や「アイテムを選択」を使用してもブラウザに反映されない…。
そんなときの対処法を書いていこうと思います。


## 対処方法
対処方法は、**対象リストをクリック→表示されるドロップダウンリストから該当の文字をクリックすることで選択できるようにする**というやり方です。
具体的に一例をご紹介します。

以下画像の「受注形態」で"競合"を選択していきます。
![画像1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820916/91d91030-3d63-d8b5-e59b-77e39dc434ce.png)


手順は以下になります。

1.ブラウザをアクティブにする
2.「受注形態」のリストをクリックする
3.表示されたドロップダウンリストから"競合"の文字をクリックする


#### 要素をスパイする
必要な要素をブラウザモードでスパイしてきます。
必要な要素は**対象リスト**と**表示されたドロップダウンリストの1項目**になります。



対象リストをスパイ(要素の名前は、text_受注形態(ブラウザ)としました)
![画像2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820916/1a62bdb2-daf4-8170-6618-96540492f26e.png)


表示されたドロップダウンリストの1項目をスパイ(要素の名前は、受注形態選択肢(ブラウザ)としました)
![画像3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820916/6ba90b04-c75b-3de1-5c00-7c75b85ad8c4.png)

要素の受注形態選択肢(ブラウザ)の属性を編集していきます。
・web要素タイプ
・webパス
・webテキスト
を以下の画像のように設定します。
![画像4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820916/8b2e409c-989a-5b5d-926f-caefd59979f8.png)


webパスについて説明します。
上記画像ではwebパスの値のうちOPTIONをOPTION[*]としていますが、スパイして未加工の状態ではOPTION[2]となっています。
webテキストのマッチ?にチェックの入っていない状態で、OPTIONの[]内の数値を1に設定し、ハイライトを押下すると"競合"の上にある空白が、3にすると"指名"がハイライトされます。
そのため、今回"競合"をスパイしていますが、空欄、指名をスパイしても問題は起こりません。

```
空白にハイライトされるwebパスの値
/HTML[1]/BODY[1]/DIV[6]/DIV[1]/DIV[1]/DIV[1]/DIV[2]/●●●●-OPTION[1]

"競合"にハイライトされるwebパスの値
/HTML[1]/BODY[1]/DIV[6]/DIV[1]/DIV[1]/DIV[1]/DIV[2]/●●●●-OPTION[2]

"指名"にハイライトされるwebパスの値
/HTML[1]/BODY[1]/DIV[6]/DIV[1]/DIV[1]/DIV[1]/DIV[2]/●●●●-OPTION[3]
```

#### 実装
手順をもとに実装していきます。
![画像5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820916/855c3487-e232-9d71-7934-f5b622deb5e7.png)

操作ステージ「受注形態を押下」の詳細は以下になります。
![画像6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820916/e6edbb87-b310-c1f3-0c07-ce758488315a.png)

「各ステップの後に一時停止(秒)」に0.05を設定しています。
これは前のアクションが処理しきれずに次のステップを行ってしまうことを防止するために設定しています。他のステージでも同様です。

操作ステージ「受注形態選択」の詳細は以下になります。
![画像7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820916/3dd56a7e-91a0-08ba-4b64-1411e1782046.png)

操作ステージ「受注形態選択」ではパラメータの設定を忘れずに行ってください。
パラメータの設定は「…」の箇所をクリック、表示されたプロパティの値にドロップボックスで選択したい値を格納したデータアイテムを指定してください。
![画像8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820916/3f097a2d-ba8a-2aef-3792-e2812d2fbaa4.png)


これで実行してみます。
![画像9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820916/1ba6025c-fc65-6f73-17f2-8b0416b1dd5b.png)

"指名"から"競合"に値を設定することができました！


## 解決に至るまで
ここからは上記の対処方法に至るまでの試行錯誤を記載したいと思います。

#### 試行錯誤①
操作ステージ「グローバルキー送信」を使用して、データアイテムの値を直接入力する。
![画像10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820916/c3a3a427-482c-a250-71bb-de7736d0d7ba.png)
操作ステージ「受注形態選択」の詳細は以下になります。
![画像11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820916/c9cca286-f689-30ac-01ea-d9cc951c96eb.png)



#### 結果
エラーは起きませんでしたが、画面上では対象のリストがクリックされた状態になり、値は選択されませんでした。
また、グローバルキー送信のテキストにデータアイテムではなく直接"競合"を入力して実行しましたが結果は変わりませんでした。
![画像12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820916/be62d414-bcec-1ef2-5db2-fd6dbdc3b767.png)




#### 試行錯誤②
操作ステージ「グローバルキー送信」」を使用して、Enterキー、Downキー等の特殊キーを駆使して値を選択する。
項目にはデフォルトで"指名"が入っており、リストをクリックした直後には"指名"にフォーカスされているため、グローバルキー送信でDownキーを押下し、空欄にフォーカスすることができるか確認しました。その際、Enterキーを押下して値を確定できるかも合わせて検証しました。
![画像13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820916/978db7c8-6580-aa97-1ebc-230185f53f99.png)


#### 結果
手動操作ではEnterキー、Downキーの操作は上手くいっていたのですが、Blue Prismからではなぜか操作することができませんでした…。
画面の様子は検証①の結果と同様の状態でした。


#### 試行錯誤③
リストをクリックして表示されるドロップダウンリストをスパイし、グローバルキー送信を使用して値を入力する。

要素の名前は、ドロップダウンリスト(ブラウザ)にしました。
![画像14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820916/e0de261f-728a-530a-ab29-cab364b9368e.png)

操作ステージ「受注形態選択」を以下のように設定しました。
![画像15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820916/f27d469a-3f84-38fb-31a5-da0b89a0197f.png)

#### 結果
試行錯誤①と同様の結果でした。



試行錯誤の結果、画面操作で値を選択する方法に至りました。



## まとめ
「リストアイテムの選択」や「アイテムの選択」が使用できないときの対処方法についてまとめました。
画面を操作することでリストから該当の文字を選択することができます。

本記事が参考になれば幸いです。