UIPath使ってHelloWorld～画像スクレイピングをやってみる

会社の勉強会でRPA業務をやっている人からハンズオンを受けたので、まとめてみた

# セットアップ
https://qiita.com/nakatahr/items/76572062e07dd6234296

[Windows版しかないため、Macで利用する場合はVirtualBoxとかで仮想上にWindows入れてやるしかないらしい](https://qiita.com/kenki171/items/70e6d0efad32bbf995db)

# HelloWorld
### 起動して新規プロジェクトの「プロセス」で作成
起動アプリのEXEがない場合は、「C:\Users\XXXXXXXXXX\AppData\Local\UiPath」にあると思われる
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/18b039e8-2eea-a102-351a-f3ea30d225bc.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/bcba1b0c-3d16-a19f-4c56-d64fec029a5a.png)
しばし待つ
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/046cc957-559e-62d0-0690-994bc398351c.png)

### 左ペインのアクティビティから「フローチャート」をダブルクリック
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/021df83e-8477-1cf3-dcf8-c6ed8d79744d.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/e6ae2b82-6f07-9650-156d-95735b127da5.png)
メイン画面にフローチャートがでる
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/f117dc49-ccc5-2b2a-e9f1-8cf898cefba2.png)

### 同じようにアクティビティから「メッセージボックス」をダブルクリック
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/b9acba86-6e6a-ba03-209c-9a0ae6d2e3bc.png)

### Startとメッセージボックスを線でつなぐ
<font color="Red">※Start側から線を引かないといけない（処理順番みたいな感じ）</font>
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/a21ad048-c0cc-ef22-3143-7841dd94e383.png)

### メッセージボックスをダブルクリックして、メッセージを登録
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/29c65ccf-ac9d-5ae1-43fa-80fd4ecf5287.png)
<font color="Red">※ダブルクォートで囲む必要がある</font>
### 実行
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/8552ccf7-f404-61ce-0e7a-6c59964eb6fa.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/c343e999-6e5f-4c0f-4f6a-781ba2e560fa.png)

# 手動で簡単にデータ抽出（IEが入っている前提）
<font color="Red">※参考に価格.comさんを利用しましたが、大量アクセスにしないように気をつけてください。（自己責任でお願いします）</font>
### 新規→シーケンス作成
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/0428e495-488c-f419-de12-a6b5c357d294.png)
### アクティビティから「ブラウザーで開く」を選択
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/ee08f9ba-49d9-5028-0cd6-4dd0143bc3ac.png)
### URLを入れて、一旦実行
<font color="Red">※URLもダブルクォートで囲む必要がある</font>
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/9542f315-d191-5bbd-5aa9-b0021b7c618a.png)
### ブラウザが起動してURLのサイトが開かれる
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/490fd613-6f3d-1cdd-e73f-398ffa4bed6d.png)
### 画面上部の「データスクレイピング」を選択
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/5f3d532d-3e66-36b4-6546-ea8b950d9300.png)
次へ
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/a2e60928-09da-d28c-7100-826e481f4c89.png)
画面を選択する感じになるので、取得したい情報（ココでは商品名）を選択
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/041a7409-c4c0-fa9e-bb3c-f980a8c8dc21.png)
いいえ
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/1814b897-a13b-fd2b-16d2-ed5ffd3a45d7.png)
第二の要素を選択（次へ）
<font color="Red">※このとき、「次へ」を押す前にブラウザ上で取得したい次のデータまでスクロールしておく必要がある！！</font>
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/bff38e48-299d-e69c-0f7c-7e2642b50ff6.png)
取得したいデータ（商品名）の最後の要素を選択
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/db417618-822a-2e66-b159-8a8bd7093f27.png)
取得データに名称（ラベル）付けと、URLも取るようにする
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/07a17f79-a88c-9c1d-a61b-a83f60768d88.png)
取れた！！
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/272848d3-40c3-c5c6-d2c8-16749a5e7f1e.png)
### 追加で他の要素をとる
「相関するデータを抽出」を選択
<font color="Red">※このとき、再度ブラウザの上部にスクロールしている状態であること</font>

価格を今度は選択して同じように最後の要素も選択
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/a9907628-9b88-8f47-8409-341d7e37ab21.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/6dcc7a8e-daf6-5d6b-b2c8-861d431b5268.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/0f3e2024-8d4d-ec3d-0197-f88829fa9a57.png)

取れた！！
![image.png](https://qiita-image-store.s3.amazonaws.com/0/20763/c2a151c8-aa30-9436-e929-a4e2694ad278.png)

# あとがき
CSVに落としたり、UI操作以外に込み入った条件などで自動でデータ取得ができるなんて、ちょっと感動した！
他人のサイトに大量アクセスすることはサイトに負荷をかけるため<font color="Red">自己責任</font>でお願いします。
今回紹介した例では、ブラウザで描画した後のHTMLから取得しているっぽいので、負荷は掛かっていない（通常の閲覧程度）らしい。