はじめまして。UiPath初心者です。
初歩的な質問で申し訳ないのですが教えてください。
今回、Excelファイルを読み込んでDetaTableに格納した項目をウェブサイト上の表から探し出し(カラムは固定)クリックをするというシナリオを作成したいです。
その際に、表示されている表になければ次へボタンを押下…を繰り返し最終ページまでなければ次のループへ進む、としたいです。
どのような方法があるでしょうか?
よろしくお願いいたします。
はじめまして。UiPath初心者です。
初歩的な質問で申し訳ないのですが教えてください。
今回、Excelファイルを読み込んでDetaTableに格納した項目をウェブサイト上の表から探し出し(カラムは固定)クリックをするというシナリオを作成したいです。
その際に、表示されている表になければ次へボタンを押下…を繰り返し最終ページまでなければ次のループへ進む、としたいです。
どのような方法があるでしょうか?
よろしくお願いいたします。
いくつか方法があります。
表抽出でWebサイト上のデータをDataTableとして取り込み、Excelファイルの内容と照合する
繰り返し(UI要素)でWebサイト上のデータを逐次チェックしていき、Excelファイルの内容と照合していく
Excelファイルの内容に応じた動的セレクターを使用し、要素が見つからなければ、そのページに対象がないと判断する
あたりでしょうか。個人的には一番上のアプローチが汎用性が高いのではないかと思います。
ありがとうございます。
以前表抽出を行いExcelファイルと同一の文言があればその隣のカラムの値を取得する
というシナリオは作成したことがあるのですが、クリックすること門可能なのでしょうか?
表の何行目にあるかどうかを取得してクリックアクティビティのセレクタに指定する、
とかでしょうか?
そうです。表なら対象要素にtableRowのような属性があると思いますので、こちらを動的に指定すると良いかと思います。
繰り返し(後判定)アクティビティの中に表抽出(表示されている表のみ)を行い対象データがあればtableRowを取得⇒代入アクティビティを使用しCD=Trueみたいなものを入れる⇒クリックアクティビティのセレクタにtableRowを指定⇒CD=Falseなら次へボタンを押下し表抽出から繰り返す…という流れになるのでしょうか?
それとも、まずはガツンと表抽出をしてしまうべきなのでしょうか?
(その場合ページ数はどのように取得すればよいのでしょうか?)
これは業務要件や対象のボリューム次第です。一般的には、要件を満たしつつスループットが最大になるようにロジックを組みます。