asshiyuta
(hasshi)
1
こんばんは表記件につきましてご相談させていただけましたら幸いです。
【事象】
繰り返しが終了しても現在のインデックスがリセットされない
【状況】
ウェブサイトから表データをスクレイピングして(dtExtraDataに格納)
データテーブルの繰り返しでエクセルデータとマッチするレコードがあった場合に
ウェブサイト上にチェックアクティビティでチェックを付ける。
また、チェックを付ける際のセレクター情報の中に表の行数情報があるためプロパティ内の繰り返しの現在のインデックス(intIndex)を変数に入れて使用しております。
また、チェック~反映が終わったら繰り返しを一度抜けて、次のデータ分の表データを同じように抽出してスクレイピングして同じdtExtraDataに格納にいれて上記と同様にExcelとマッチさせるということをしているのですが前の繰り返し分のintIndexが残っていてセレクターが上手く検索できない状況です。アクティビティの設定なのかが分からずご質問させていただきました。
【例】
1回目の繰り返し時点:2行の表データが取れた。最大intIndex=1(0スタートのため)
2回目の繰り返し時点:2行の表データが取れた。intIndex=1からスタートで最大intIndex=3になってします。
お分かりの方がおられましたらご回答いただけますと幸いです。
問題:
- ループの
intIndex
(現在のインデックス) はループ終了後もリセットされないため、テーブル データをスクレイピングして Excel データと照合するときに問題が発生します。
解決策:
-
intIndex
をリセット: 各ループまたは繰り返しの後に、intIndex
変数を手動で 0 または目的の開始値にリセットします。
-
変数の再初期化: 新しい反復を開始する前に、ループで使用されるすべての変数 (intIndex
など) が再初期化されていることを確認します。
実装:
- ループの最後に割り当てアクティビティを追加します:
割り当て:
intIndex = 0
これにより、新しいデータ スクレイピングの反復ごとにインデックスが新しく開始されます。これで問題が解決することを願っています
1 Like
Yoichi
(Yoichi)
3
こんにちは
現在2重ループ構造でしょうか?
使っているアクティビティは何になりますでしょうか?
例えば繰り返し(コレクションの各要素)アクティビティの場合、基本的に現在のインデクスプロパティはループに入るタイミングで初期化されるので、上記ですと少し挙動が変ですね。
可能であればワークフローのスクリーンショットあるいはプロジェクト一式をファイルで共有いただければと思います。
1 Like
asshiyuta
(hasshi)
4
@Yoichi 様
@Anuja_Ravikant_Khamitkar 様
ご教示いただきありがとうございます。
お騒がせして申し訳ございません。
こちら現在のインデックスのint変数のスコープの問題で
解決できました。(Yoichi様のおっしゃる通りループに入ると必ず0に初期化されました。)
引き続きよろしくお願いいたします。
1 Like