ブラウザでクリックする項目がたくさんあり変数にしたい

いつもお世話になっております。
アドバイスよろしくおねがいします。

ネットで検索するサイトの項目を変数にしたいです。
項目は実際は社内のサイトになりますが項目は部署によって異なるので変数にしたいと思っています。
イメージとしては、サイトで例えると「レディースファッション」をクリック
その次は「トップス」をクリック。
というような動きをしたいです。
クリックする名称を変数としたいですが、多くのクリック要素が必要になります。

image

Excelで項目を一覧で記載しそれを順番にクリックしたいのですが
Excel-データテーブルに入れる
1つずつ取り出して変数に入れる
とすると、一つずつ取り出して変数に入れると変数がかなり多くなります。
クリックは3で終わることもあれば6まで行くこともあり
数が一定ではありません。

どのような変数に入れてクリック一覧をリスト化できるのか。
ご教授宜しくお願いいたします。

こんにちは

やり方はいくつかあるかと思いますが、Dictionaryに入れてしまうのが後処理が楽かと思います。

dict = dt.AsEnumerable.ToDictionary(Function(r) r(0).ToString,Function(r) r.ItemArray.Skip(1).Where(Function(o) o isnot Nothing AndAlso (not String.IsNullOrEmpty(o.ToString))).Select(Function(o) o.ToString).ToList())

Sample20220607-3.zip (9.3 KB)

Yoichiさん
いつもご教授ありがとうございます。
Dictionaryに入れるのですね。

お恥ずかしながらRPAと同時にVB.netを始めたものでして、

dt.AsEnumerable.ToDictionary(Function(r) r(0).ToString,Function(r) r.ItemArray.Skip(1).Where(Function(o) o isnot Nothing AndAlso (not String.IsNullOrEmpty(o.ToString))).Select(Function(o) o.ToString).ToList())
この構文を解説いただけないでしょうか。
AsEnumerableは比較でしょうか・・?

またこのような構文が並んで分からない時はどのように解読していけばよいでしょうか。
Uipathの知識云々ではない初歩的なことをお伺いして大変申し訳ございません。
お応えできる範囲で結構でございます。

こんにちは

この構文を解説いただけないでしょうか。

こちらLINQと呼ばれる構文でどちらかというと上級者向きです。

以下UiPathのアクティビティで書き直しましたので、アルゴリズムの理解でしたら
こちらを参照いただければと思います。

Sample20220607-3v2.zip (11.5 KB)

Sequence.xamlを参照ください。

ありがとうございます。
上級者向きはまだ理解できませんでした。
いただいたSequence.xamlで少しわかりやすくなりました。
じっくり見て解読します。

社内のStudioだとYoichiさんが利用されているパッケージにバージョンを合わせることができませんでした。
Yoichiさんのご利用されているバージョンが新しいのか社内PCでは出てきません。
(Uipath.system.Activities 21.10.4 →20.10.3しか出ません。)

いただいたキャプチャ画像で見ているのですが、このようになっておりまして。
image

見えていない構文をコピペで張り付けていただけないでしょうか。
自宅PCのcommunityEditiondeだと見れるのかもしれませんので帰宅後再度確認しますが、本日は帰宅が遅くなりそうでして。
お手数をおかけします。

こんにちは

以下でいかがでしょうか?

Sample20220607-3v3.zip (11.5 KB)

Yoichiさん
こんにちは。
サンプルご提供いただき大変参考になりました。

ブラウザを開くにあたりExcelで項目を管理→List型に入れましたが、
実際の動きとしては
ブラウザで項番1のクリック1~クリック4or5までを順番にクリックして開いていく。
→ブラウザ閉じる→項番2のクリックに進む。
というようにしていきたいです。
今回は項番4の項目を使って作成したのですがクリック要素に変数として入れる際に
Listから一つずつ取り出すのはどのようにすればよいでしょうか。
aaname=‘学習プログラム’
'学習プログラム’には変数しか入れられないと思っているのですが。

For Eachにブラウザ開くからの処理を入れて
項番1が終われば項番をカウントする変数等が必要になるかなとは思っています。
アドバイス宜しくお願いいたします。
プログラムを添付できずお手数おかけし申し訳ありません。

image


data.xlsx (8.9 KB)

こんにちは
以下の画像がこれに該当しますが...

image

項目のMessageBoxの部分を、当該ページに移動するアクティビティに
v.ToStringのMessageBoxの部分をクリックアクティビティにそれぞれ置き換えれば
達成できるように思えます
(全体のOpenBrowserまたはAttachBrowserのコンテナ内に格納すれば良いかと思います)

Yoichiさん

返信ができておらず失礼いたしました。
ネット環境が不調で返信ができておりませんでした。

ご回答ありがとうございます。

要素を探す=該当のページ
クリック=要素があれば次のクリック
という形で、
要素とクリックの名称を変数として、
要素を探す・クリックを一つずつ準備してループさせたかったのですが一つずつのループは難しいでしょうか?
要素を探す3つとクリック3つというように該当ページ数分クリックに対する数を増やさないと難しいでしょうか。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.