【UiPath】検索結果の取得を試みる②【初心者】
今回は、UiPathで「検索結果の取得」にトライしてみます。パート②です。
パート①は以下。

目的
パート①の目的
検索キーワード別の検索結果を取得し、Excelに記入する。
検索キーワードは、「AA BB」「AA CC」……のように、2つ目のワードを変えたもの。
取得するデータは、検索表示1位のタイトルとリンク。
イメージはこんな感じ↓
検索キーワード | タイトル | リンク |
AA BB | X | https… |
AA CC | Y | https… |
AA DD | Z | https… |
パート②の目的
1回の実行で、2つ以上の検索キーワード検索結果1位のリンクをExcelに記入する。
仮説②
この手順でできる?
1.検索キーワード記入済みのExcelファイルをキューに格納
2.ワークフローの作成
2-1 「トランザクションアイテムを取得」アクティビティ
2-2 「フロー分岐」アクティビティ
2-3 URLを取得するフローの作成
2-4 取得したURLを書き込む ※失敗
……

ここで手詰まりでした。
詳細は以下より。
検証②
1.検索キーワード記入済みのExcelファイルをキューに格納
UiPath Orchestratorに移動。キュー一覧を開く
キュー一覧を開く。
キューを作成する。
検索キーワードが記入されたCSVファイルをアップロードする。
「トランザクションを表示」からキューの中身を確認。
上記画像のように、表示された。

次は、キューに格納したデータを1つずつ取り出して、処理していく流れだね。
2.ワークフローの作成
2-1 「トランザクションアイテムを取得」アクティビティ
キューからキューアイテムを取得するため、「トランザクションアイテムを取得」アクティビティを設置。
プロパティ欄を以下に設定。
キュー名:”検索キーワード”
トランザクションアイテム:Key

これで、キューに格納したデータを処理する準備ができたね。
2-2 「フロー分岐」アクティビティ
「トランザクションアイテムを取得」アクティビティの下に「フロー条件分岐」アクティビティを設置。
プロパティ欄の条件を
Key is Nothing
とする。

ふむふむ、こうすることで、すべてのキューアイテムの処理が終わった後に、True側のアクティビティが実行されるんだね。
2-3 URLを取得するフローの作成
URLを取得するフローは、多少長くなったので、分けて説明。
待機 :ブラウザが開くまでの時間を考慮して、待機時間(3秒)を設置
文字を入力 :キューから取得したキーワードを検索欄に入力
ホットキーを押下:エンターキーを押す設定、検索結果のページに移行

これで、指定のキーワードで検索した検索結果ページに移動できるね。
次は、リンクの取得だ。
属性を取得:そのページのURLを取得
検索結果1位を表すセレクターを記入している。そのため、他のキーワード検索の場合でも、検索結果1位のタイトルをクリックするようになっている。※詳細は別記事より
属性を取得:そのページのURLを取得
プロパティ欄の「属性」に”url”を記入すると、そのページのURLを取得する。

これで、リンクは取得できたね。
後は、取得したリンクを指定のファイルに記入するのみだ。
2-4 取得したURLを書き込む ※失敗
思ったようにいかず、挫折しました。試したことを書きます。
試したこと
・データテーブルにまとめて記入後、Excelファイルに記入
・「繰り返し」アクティビティの使用
変数の型に問題があり、うまく書き込めず。
「繰り返し」アクティビティで取得したURLをExcelファイルに順番よく書き込もうと思ったが、うまくいかなかった。
「繰り返し」アクティビティの「次にコレクション内の各要素」のフィールドにデータテーブル型の変数を入れる必要があった。そのため、検索キーワードが記入されたファイルを取得し、データテーブルに変更し、処理する必要がある。しかし、今回はキューに検索キーワードを格納しているため、二度手間になると思い、断念。
・データテーブルにまとめて記入後、Excelファイルに記入
取得したリンクをデータテーブルにまとめた後に、「範囲の書き込み」アクティビティでExcelファイルに記入することを試みた。
キューから取得し、String型に変換した検索キーワードをどのようにデータテーブルに格納するか分からず、断念。
検証結果②
検証結果、各検索キーワードの検索結果1位ページのリンクを取得できた。しかし、取得したデータをファイルに書き込めなかった。次回の課題は、「書き込み」だ。
今回の検証結果による学びと課題と解決案。
学び(記事化予定)
・検索結果1位のタイトルをセレクターで表す方法
・「属性を取得」アクティビティによるURLの取得方法
課題
解決案
「範囲を読み込み」アクティビティでExcelファイルから検索結果キーワードを読み込む。そうすることで、データテーブル型の変数に検索キーワードを格納できる。
取得したURLをString型のデータのまま、Excelファイルに順番よく書き込むことを試みる。
参考文献

コメント