概要
繰り返しを行う対象範囲に違いがあります。
※以下、ループしたい箇所を選択した場合を想定
-
「タグ繰り返し(For Each Tag)」:作成する際に選択した箇所から割り出した検索範囲(タグパス)内のみをループします。
- 「タグパス繰り返し(For Each Tag Path)」:作成する際に選択した箇所から割り出さず全体の検索範囲(タグパス)をループします。
また、使い分けとしては、
表示画面の内、一部の範囲だけループを想定している場合は、「タグ繰り返し(For Each Tag)」を利用し、表示画面全体を範囲としてループを想定している場合は、「タグパス繰り返し(For Each Tag Path)」を利用して下さい。
補足
より詳細な違いとしては以下となります。
※違いをより理解しやすくするため、両方のステップにある「ファインダータブ」は同じ設定にし、検索範囲を同じにします。
「タグ繰り返し(For Each Tag)」ステップの場合
ステップ選択時、オレンジ枠の検索範囲(タグパス)にある1つ下位(右に1つズラした場所)のタグからアクションタブで設定した「タグ」情報を探して、見つかったタグがループ対象になります。
以下、例となります。
「タグパス繰り返し(For Each Tag Path)」ステップの場合
ステップ選択時、オレンジ枠の検索範囲(タグパス)にある下位(右側の場所)全てのタグからアクションタブで設定した「タグ」情報を探して、見つかったタグをループします。
以下、例となります。
使用例
以下のWebサイトを参考に「タグ繰り返し(For Each Tag)」ステップと「タグパス繰り返し(For Each Tag Path)」ステップを利用した場合をご説明致します。
※画面情報と内部情報(ブラウザのF12で表示されるデバッグツール参照)
td、tr、table、div等の茶色文字(DAだと紫文字)がタグ情報であり、
class="○○"、xmlns="○○"等の赤文字と"青文字"が属性名と"属性値"になります。
①リンゴを選択してループ作成する場合
※アクションタブの設定は「タグ」を同じ値(td)にして、他の項目はデフォルトのままとします。
- 「タグ繰り返し(For Each Tag)」
選択したリンゴのタグ情報を元に検索範囲(タグパス)が自動で割り出されます。
以下のオレンジ枠が検索範囲となり、tdタグがループ対象となります。
よって、リンゴ、トマト、100のみループされます。
- 「タグパス繰り返し(For Each Tag Path)」
選択したリンゴのタグ情報は加味せず、検索範囲(タグパス)は全体となります。
以下のオレンジ枠が検索範囲となり、tdタグがループ対象となります。
よって、リンゴ、トマト、100だけでなく、第1商店と第2商店にある全ての果実や野菜、価格が対象となります。
②リンゴとトマト、価格の行を選択してループ作成する場合
※アクションタブの設定はタグを同じ値(tr)にして、他の項目はデフォルトのままとします。
- 「タグ繰り返し(For Each Tag)」
選択したリンゴ行のタグ情報を元に検索範囲(タグパス)が自動で割り出されます。
以下のオレンジ枠が検索範囲になり、trタグがループ対象となります。
よって、第1商店のリンゴ、みかん、ももがある行のみループされます。
- 「タグパス繰り返し(For Each Tag Path)」
選択したリンゴ行のタグ情報は加味せず、検索範囲(タグパス)は全体となります。
以下のオレンジ枠が検索範囲となり、trタグがループ対象となります。
よって、第1商店のリンゴ、みかん、ももがある行以外にも第2商店のスイカ、オレンジ、ぶどうがある行とさらに果物、野菜、価格のタイトル行もタグ情報が同じためループされます。
注意事項
-
概要で説明したように、「タグ繰り返し(For Each Tag)」ステップと「タグパス繰り返し(For Each Tag Path)」ステップは、ループ対象と検索範囲が違うため、特にループ対象が検索範囲の1つ下位のみである「タグ繰り返し(For Each Tag)」では以下のエラーになる場合がありますので、ご注意下さい。
原因:検索範囲の1つ下位に、アクションタブに設定した「タグ」存在しないため。
選択したイテレーションおよびブランチ内でターゲットに到達できないとき:
タグ繰り返し アクションによるエラーが発生しました。ループするタグはありません。
参考
「タグ繰り返し(For Each Tag)」ステップ
DSのファインダーのタグ パス
区分 | 確認Ver |
仕様 | 10.4.0.2、10.7.0.4 |