概要
入力ダイアログに商品名を入力。メルカリで検索し、取引成立済みの案件を抽出。価格情報をExcelで保存して、そこから平均購入金額を算出します。
実行動画
ワークフロー全体図

アクティビティ
入力ダイアログ
ブラウザーを開く
文字を入力
クリック
データスクレイピング
Excelアプリケーションスコープ
範囲を追加
範囲を読み込む
データテーブルを構築
繰り返し(各行)
代入
データ行を追加
メッセージボックス
変数
[名前]|[変数の型]
Item_Name|String
ExtractDataTable|DataTable
PriceInfo|String
PriceTable|DataTable
Price|String
Price2|String
Price3|String
Average|String
作成手順
1.【入力ダイアログ】アクティビティをドロップ
変数「Item_Name」を新規作成し、入力した商品名を格納
2.【ブラウザーを開く】アクティビティをドロップ
[プロパティ]の設定
[URL]:”https://www.mercari.com/jp/”[ブラウザーの種類]:BrowserType.Chrome

3.ブラウザーを立ち上げ、「メルカリ」のトップページにアクセス
4.【文字を入力】アクティビティをドロップ
「メルカリ」サイトを後ろに表示し、[ブラウザー内で要素を指定]をクリック。
[検索ボックス]を指定する。
検索ボックスに入力する、変数「Item_Name」を指定

5.【クリック】アクティビティをドロップ
「メルカリ」サイトを後ろに表示し、[ブラウザー内で要素を指定]をクリック。
[検索ボタン]を指定する。
![[検索ボタン]を指定](http://www.uipath.red/wp-content/uploads/2021/02/howto21_5.png)

6.「メルカリ」サイトで検索し、検索結果のページに切り替える
→「メルカリ」サイトで適当な商品名で検索し、検索結果のページにする。
7.【クリック】アクティビティをドロップ
「メルカリ」サイトを後ろに表示し、[ブラウザー内で要素を指定]をクリック。
[売り切れ]チェックボックスを指定する。
8.【クリック】アクティビティをドロップ
「メルカリ」サイトを後ろに表示し、[ブラウザー内で要素を指定]をクリック。
[完了]ボタンを指定する。

9.[リボン]内【データスクレイピング】を実行
「メルカリ」サイトを後ろに表示し(検索結果ページ)、【データスクレイピング】を実行
[値を選択]がポップアップ表示され、[次へ]を選択
10.[価格]にカーソルをあててクリック
![[価格]にカーソルをあてる](http://www.uipath.red/wp-content/uploads/2021/02/howto21_11.png)
次に、[2番目の要素を選択]がポップアップ表示され、[次へ]を選択
→別の[価格]をクリックする
11.[列を設定]がポップアップ表示され、[テキストを取得]にチェック、[テキスト列名]を入力する
![[列を設定]がポップアップ](http://www.uipath.red/wp-content/uploads/2021/02/howto21_12.png)
取得した価格情報の[プレビューデータ]が表示される
取得内容に問題なければ、[完了]をクリック。
[データは複数ページにわたりますか?]のポップアップ表示されるので、[いいえ]を選択して終了。


取得データは、「ExtractDataTable」に格納されている
→変数「ExtractDataTable」のスコープをワークフロー名に変更します。
12.【データスクレイピング】の[セレクターを編集]する
サンプルで検索した商品名が残っているので、ワイルドカード「*」に変更する。

12.【Excelアプリケーションスコープ】アクティビティをドロップ
参照元のExcelファイルを選択「mercari_price.xlsx]
13.実行内に、【範囲を追加】アクティビティをドロップ
[プロパティ]の設定
[シート名]:”Sheet1″[データテーブル]:ExtractDataTable
14.【範囲を読み込み】アクティビティをドロップ
[プロパティ]の設定
[シート名]:”Sheet1″[範囲]:””
[データテーブル]:変数「PriceInfo」を新規作成

15.【データテーブルを構築】アクティビティをドロップ
[int32]で価格のデータテーブルを構築→Computeメソッドを使って集計するには、数値型である必要がある為、データテーブルを構築して[int32]で格納します。
[出力]:PriceTable

16.【繰り返し(各行)】アクティビティをドロップ
→Excelに格納した「PriceInfo」を取り出します。
17.【代入】アクティビティをドロップ
[右辺値]:row.Item(0).ToString[左辺値]:変数「Price」を新規作成
18.【代入】アクティビティをドロップ
[右辺値]:PriceInfo2.Remove(0,1)[左辺値]:変数「Price2」を新規作成
→Removeメソッドで「¥マーク」をとります。
19.【代入】アクティビティをドロップ
[右辺値]:Price2.Replace(“,”, “”)[左辺値]:変数「Price3」を新規作成
→Replaceメソッドで「金額のカンマ」を置換でとります。
20.【データ行を追加】アクティビティをドロップ
[データテーブル]:PriceTable→15.【データテーブルを構築】で作成したもの。
[列配列]:{Price3}

21.【代入】アクティビティをドロップ
[右辺値]:PriceTable.Compute(“Avg(Price)”, String.Empty).ToString[左辺値]:変数「Average」を新規作成
→「Computeメソッド」の「Avg」で平均値を算出します。
22.【メッセージボックス】アクティビティをドロップ
「”購入価格の平均金額は” + Average +”円です。”」

実行結果
