ページ送りのある一覧を全件取得する(終了の判定・件数の検証・取りこぼしと重複の防止)

公開日:2026年10月7日 執筆:Takuya カテゴリ:Web 操作

1ページに表示しきれない検索結果を「次へ」で送りながら全件取得するロボットの設計を解説します。終了の判定方法、画面上の件数との照合、取りこぼしや重複を防ぐ工夫を整理します。

ページ送りで起きやすい問題

架空の例として、取引先ポータルの請求一覧から、今月分の請求データを全件取得するロボットを考えます。一覧は1ページに20件ずつ表示され、下部に「次へ」ボタンとページ番号が並んでいます。

1ページ目の抽出は簡単に作れますが、全件を取るには「次のページへ進む」「最後のページで止まる」を正しく組む必要があります。ここが曖昧だと、最後のページで止まらずにエラーになる、最終ページだけ取りこぼす、同じページを二度読む、といった問題が起きます。しかも、件数が少ないテストでは1ページに収まってしまい、問題に気づかないまま本番を迎えがちです。

終了の判定方法

最後のページかどうかの判定には、いくつかの方法があります。画面の作りに合わせて選び、可能なら2つを組み合わせます。

  • 「次へ」ボタンが存在しない、または無効(グレー表示)になっていたら終了
  • 画面に表示されている「全123件」などの総件数と、取得済みの件数が一致したら終了
  • 「1/7ページ」のような表示から総ページ数を読み取り、そのページ数だけ繰り返す
  • ページを送っても一覧の内容が変わらなかったら終了(念のための歯止めとして使う)

ループの組み立て方

全体の流れは、次のような形になります。BizRobo! では、ページ送りの繰り返しをループ用のステップと条件判定の組み合わせで作るのが一般的ですが、具体的なステップの名称や設定はバージョンによって異なる場合があります。

  1. 検索条件を入力して一覧を表示する
  2. 現在のページの行をすべて抽出し、結果に追加する
  3. 終了の条件に当てはまるかを判定する
  4. 当てはまらなければ「次へ」をクリックし、次のページの表示を待つ
  5. 2に戻る。念のため最大ページ数(例:普段の数倍)を超えたら異常として止める

件数を検証する

取得が終わったら、画面に表示されていた総件数と、実際に取得した件数を照合します。一致しなければ、結果ファイルは作っても「件数不一致」として担当者に通知します。総件数の表示がない画面では、ページ数 × 1ページの件数 と最終ページの件数から計算して照合する方法もあります。件数の検証を入れておくと、画面の改修で抽出の範囲が変わった、といった問題にも早く気づけます。

取りこぼしと重複を防ぐ

ページ送りの途中で新しいデータが登録されると、並び順がずれて、前のページにあった行が次のページにも表示されることがあります。並び順を登録日時の古い順など、追加で変わりにくい順に指定しておくと影響を減らせます。そのうえで、請求番号のような一意のキーで重複を取り除いてから出力します。

1ページの表示件数を変更できる画面なら、件数を最大にしておくと、ページ送りの回数が減り、処理も安定します。

よくある失敗

ページ送りのロボットで実際に起きやすい失敗です。

  • 「次へ」をクリックしたあと、次のページの表示を待たずに抽出し、前のページの内容を二度読む
  • 最終ページで「次へ」が見つからないことをエラーとして扱い、ロボットが止まる
  • 1ページしかないケース、0件のケースをテストしていない
  • 終了条件の判定ミスで無限に繰り返してしまう(最大ページ数の歯止めで防ぐ)

※BizRobo! は RPA テクノロジーズ株式会社の製品です。本サイトは同社とは関係のない個人の解説サイトです。画面や機能の名称は、製品のバージョンによって異なる場合があります。

ほかの記事