【UiPath】検索結果の取得を試みる②【初心者】

UiPath

UiPath検索結果取得を試みる②【初心者】

今回は、UiPathで「検索結果の取得」にトライしてみます。パート②です。

パート①は以下。

【UiPath】検索結果の取得を試みる①【初心者】
【UiPath】検索結果の取得を試みる①【初心者】 今回は、UiPathで「検索結果の取得」にトライしてみます。 目的 検索キーワード別の検索結果を取得し、Excelに記入する。 検索キーワードは、「AA BB」「AA CC」…...

目的

パート①の目的

検索キーワード別の検索結果を取得し、Excelに記入する。

検索キーワードは、「AA BB」「AA CC」……のように、2つ目のワードを変えたもの。

取得するデータは、検索表示1位のタイトルとリンク。

イメージはこんな感じ↓

検索キーワードタイトルリンク
AA BBXhttps…
AA CCYhttps…
AA DDZhttps…

パート②の目的

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を取得するフローは、多少長くなったので、分けて説明。

ブラウザーを開く:Googleをchromeで開く
待機      :ブラウザが開くまでの時間を考慮して、待機時間(3秒)を設置
文字を入力   :キューから取得したキーワードを検索欄に入力
ホットキーを押下:エンターキーを押す設定、検索結果のページに移行
学習者
学習者

これで、指定のキーワードで検索した検索結果ページに移動できるね。
次は、リンクの取得だ。

クリック :検索結果1位のページをクリック
属性を取得:そのページのURLを取得
クリック:検索結果1位のページをクリック

検索結果1位を表すセレクターを記入している。そのため、他のキーワード検索の場合でも、検索結果1位のタイトルをクリックするようになっている。※詳細は別記事より

属性を取得:そのページのURLを取得

プロパティ欄の「属性」に”url”を記入すると、そのページのURLを取得する。

学習者
学習者

これで、リンクは取得できたね。
後は、取得したリンクを指定のファイルに記入するのみだ。

2-4 取得したURLを書き込む ※失敗

思ったようにいかず、挫折しました。試したことを書きます。

 

試したこと

・「繰り返し」アクティビティの使用
・データテーブルにまとめて記入後、Excelファイルに記入

 

・「繰り返し」アクティビティの使用

変数の型に問題があり、うまく書き込めず。

「繰り返し」アクティビティで取得したURLをExcelファイルに順番よく書き込もうと思ったが、うまくいかなかった。

「繰り返し」アクティビティの「次にコレクション内の各要素」のフィールドにデータテーブル型の変数を入れる必要があった。そのため、検索キーワードが記入されたファイルを取得し、データテーブルに変更し、処理する必要がある。しかし、今回はキューに検索キーワードを格納しているため、二度手間になると思い、断念。

・データテーブルにまとめて記入後、Excelファイルに記入

取得したリンクをデータテーブルにまとめた後に、「範囲の書き込み」アクティビティでExcelファイルに記入することを試みた。

キューから取得し、String型に変換した検索キーワードをどのようにデータテーブルに格納するか分からず、断念。

検証結果②

検証結果、各検索キーワードの検索結果1位ページのリンクを取得できた。しかし、取得したデータをファイルに書き込めなかった。次回の課題は、「書き込み」だ。

今回の検証結果による学びと課題と解決案。

 

学び(記事化予定)

・キューから取得したデータをString型に変更する方法
・検索結果1位のタイトルをセレクターで表す方法
・「属性を取得」アクティビティによるURLの取得方法

 

課題

・繰り返して行う処理で取得したデータを順番よくExcelファイルに記入する方法

解決案

キューを使わずに、Excelファイルの操作を軸に考える。
「範囲を読み込み」アクティビティでExcelファイルから検索結果キーワードを読み込む。そうすることで、データテーブル型の変数に検索キーワードを格納できる。
取得したURLをString型のデータのまま、Excelファイルに順番よく書き込むことを試みる。

参考文献

UiPath Academy
【UiPath】Get Attributeの使い方 - RPA Navi
(adsbygoogle = window.adsbygoogle || []).push({});Get Attributeというアクティビティについて紹介します。Attributeは属性という意味なので、そのまま属性を取得するアクティビティになります。特に難しいこともなく、いつもSelectorやUI Explor...

 

コメント

タイトルとURLをコピーしました