【BluePrism】 コレクションにデータを全取得出来ないときの対処法

# はじめに
Blue Prismで検索結果やコンボボックス内などの項目を、読み取りステージを使用して全取得することがあると思いますが、まれに読み取りステージを使っても処理が実行されない場合があります。
この記事では、そのような事態に陥ったときの対処法についてご説明していきます。

# 処理内容
### 前提条件
- Blue Prismのバージョン：6.8.0
- ブラウザ：Google Chrome

### 自動化したい内容
今回は「案件検索」というページ内の「部門」項目を全取得する処理を行います。
処理の大まかな流れは以下の通りです。

1.「▼」をクリックし、「部門」リストを表示する
![処理内容01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820924/19ae874d-b8d5-8a1f-bcbe-bb2c2242298e.png)

2.表示されている項目を全取得し、コレクションに格納する
![処理内容02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820924/bdad48d1-c487-3fb5-cb80-74964fde049a.png)

# 事前準備
#### WEBパスの確認
事前準備として、アプリケーションモデラーにて「部門」リストに表示される最上部項目の要素（ここでは赤枠の「テスト01」を指します）のWEBパスを確認します。
![処理内容03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820924/c3b940ba-e679-bc33-ebeb-c5cb4adee893.png)
「マッチ?」にチェックが入っている状態にし、「一致タイプ」を「動的」に変更します。
![事前準備01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820924/adbdeaa1-4f12-3fe2-bba9-9b31419616c7.png)

今回の「部門」リストでは、赤色の番号を変えることで一致する項目が変化していきます。
**/HTML[1]/BODY[1]/DIV[6]/DIV[1]/DIV[1]/DIV[1]/DIV[2]/ZAC-OPTION<font color="red">[2]</font>/DIV[1]**

<br>
<br>
さらに、2つのデータアイテムを作成します。

- 部門名
- 部門番号

#### データアイテムの作成
**部門名**
取得した部門項目を1つずつ格納するためのデータアイテムです。
<br>

**部門番号**
部門項目のWEBパスの赤色の番号を変更する際に使用するデータアイテムです。
最上部の項目のWEBパスでは対象箇所が"ZAC-OPTION[2]"であることを先ほど確認したため、初期値には"2"を設定しておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820924/4966382d-47db-8dea-2fa5-88563e0e79c8.png)

#### コレクションの作成
**部門リスト**
取得した部門項目を全て格納するコレクションです。
フィールドには「部門」をテキスト型で設定しておきます。
![事前準備02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820924/f847e4cf-8bd8-5a99-bad5-6652b0af8e12.png)

こちらで事前準備は完了です。


# 対処方法

オブジェクトはこのように実装しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820924/352f0e8f-b7f0-81da-3a18-3cc5e7a05dcf.png)

それでは、各ステージの内容を確認していきましょう。
<br>
### 《操作ステージ》部門項目を表示する
「部門」リストをクリックする処理を実装しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820924/3ffcd2e4-863f-ddc6-06ec-a9bb24b35b79.png)

要素に指定している「new_combo_部門(ブラウザ)」は下記画像の赤枠部分を指します。
ここをクリックすることにより、部門項目のコンボボックスが表示されます。
![処理内容01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820924/936992ab-6d08-4e85-9de3-9d8386e9384f.png)


### 《判断ステージ》取得する項目があるかを確認する
取得する必要のある項目が「部門」リスト内にあるかを確認します。
今回は22項目の取得が必要となるため、「部門番号」が24以下のときに部門項目を取得するよう設定しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820924/02eedcb6-2e5c-43c3-1f60-3ff7794077ee.png)

### 《読み取りステージ》部門リストを取得する
部門項目を一番上から取得する処理を実装しています。
要素には、[事前準備のWEBパスの確認](#WEBパスの確認)で使用した部門項目を指定し、「テキストを取得」にて取得してきた項目を「部門名」のデータアイテムに格納します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820924/2d79e9a7-fba8-2c12-a3f6-80e8ca484ec6.png)
その際、パラメーターを以下の通り設定してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820924/b8fa6744-dd94-fb8d-6532-56df69b29db9.png)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820924/7132c1d4-5304-30b0-549d-23cea0494730.png)

### 《アクションステージ》コレクションに行を追加する
「部門リスト」のコレクションに1行追加する処理です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820924/33cbeb2b-631f-fc04-f36e-9fd0dbb20125.png)

### 《計算ステージ》部門名をコレクションに格納する
2つ前の読み取りステージで取得した「部門名」をコレクションに格納する処理です。
「部門リスト」コレクションの「部門」フィールドに格納したいため、「部門リスト.部門」と設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820924/3a24df37-cfa8-4317-7ccc-1ea6a4c1d7c3.png)
### 《計算ステージ》部門番号に"1"を追加する
「部門番号」に"1"を追加する処理です。
このように設定することで、部門項目を1つずつ下にズラして取得することが出来ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820924/1cfc67d1-b130-32d3-9458-aefc11133f67.png)

以上の処理で実装は完了です。


# 実行結果
それでは、処理を実行していきましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820924/1c3f59e1-7de0-48cc-9047-a3ab11de8075.png)

実行後にコレクションを確認すると無事に部門項目を全取得出来ていました！
コレクションへの全取得に苦戦した際には、ぜひ参考にしてみてください。