JobAutoで要素の繰り返し範囲を調整する方法

★ページの説明・概要

JobAutoのブラウザ操作「要素の繰り返し処理」で、Webページの一覧や表のうち、処理する要素の範囲を調整する方法を説明します。

一覧の一部しか繰り返し対象にならない場合や、不要な要素まで対象になる場合は、「取得範囲」「XPathの除外」「XPathのフィルター」「表示値のフィルター」を使い分けます。

このページでは、都道府県ごとに店舗名が表示されるWebページを例に設定方法を紹介します。アクションの作成方法や各設定項目の詳細は、要素の繰り返し処理の基本マニュアルをご確認ください。

1.都道府県別の店舗一覧を繰り返し処理する

以下のように東京・大阪・愛知などの店舗が並んでいるWebページを想定します。店舗名を一つずつ取得するため、「要素の繰り返し処理」アクションを作成します。

都道府県ごとに店舗が並ぶWebページの一覧例

まず通常どおりに対象となる要素を選択し、繰り返し処理の設定画面を開きます。

要素の繰り返し処理アクションの作成画面

2.対象が一部しか取得できない場合は「取得範囲」を確認する

同じ一覧に見えていても、設定した要素の範囲によっては、東京の店舗だけが繰り返し対象となり、大阪や愛知の店舗が含まれない場合があります。

東京の店舗だけが繰り返し対象になっている設定画面

その場合は、「取得範囲」で「拡張した範囲の要素」を選択します。現在の設定内容に近い要素まで検索範囲を広げるため、対象が増える場合があります。

取得範囲を拡張した範囲の要素に変更した設定画面

変更後は「再読込」をクリックし、「繰り返しの対象リスト」に大阪や愛知の店舗も含まれたか確認してください。範囲を広げた結果、不要な要素が含まれた場合は、次の除外・フィルター設定で調整します。

3.不要な要素を「XPathの除外」で対象から外す

繰り返し対象に含めたくない要素がある場合は、「XPathの除外」を設定します。たとえば、一覧に混在している不要な見出しや特定の要素を除外したい場合に利用します。

XPathの除外によって不要な要素を対象外にする設定画面

XPathの除外は、指定条件に該当する要素を対象リストから外す設定です。必要な店舗まで除外していないか、再読込後の対象リストで確認してください。

4.「XPathのフィルター」で特定の要素だけに絞る

特定のHTML構造に一致する要素だけを処理したい場合は、「XPathのフィルター」を使用します。対象となる要素のXPathを指定して、繰り返す候補を絞り込みます。

XPathのフィルターを使用して繰り返し対象を絞り込む画面

「XPathの除外」は対象から外す設定、「XPathのフィルター」は対象に含める要素を絞る設定です。用途に応じて使い分けます。

5.「表示値のフィルター」で表示文字から絞る

Webページに表示されている文字を基準に対象を絞りたい場合は、「表示値のフィルター」を使用します。対象の表示文字を指定し、該当する要素だけがリストに残ることを確認してください。

表示値のフィルターで対象文字列を指定する画面

表示される文字はWebページの更新によって変化する場合があります。指定した条件に合わず目的の店舗が除外されていないか、実際のページで確認します。

6.XPathを直接編集して要素の条件を調整する

フィルターではなく、繰り返し処理の「XPath」自体を編集して対象を指定することもできます。例では histListData pause というclassを持つ要素に着目しています。

XPathを直接編集して対象を指定する画面

XPathを編集したあとは、必ず「再読込」を実行してください。XPathが正しくても、ページ構造の変更によって認識結果が変わる場合があります。ブラウザ要素の指定が不安定な場合は、ブラウザの要素を安定して指定する方法もご確認ください。

7.最後の要素だけを処理する場合は開始行に「-1」を指定する

対象リストの最後の1件だけを処理したい場合は、「開始行」に -1 を指定します。

開始行にマイナス1を指定して最後の要素だけを処理する設定画面

「開始行」は処理する位置を設定する項目です。通常の開始行・終了行・ステップの詳細は、要素の繰り返し処理マニュアルをご確認ください。

8.設定変更後は対象リストを再読込して確認する

「取得範囲」「XPath」「フィルター」「除外」などを変更した場合は、「再読込」を実行して「繰り返しの対象リスト」を確認します。 ロボットを全実行する前に、必要な店舗がすべて含まれているか、不要な行が混在していないかをチェックしてください。

  1. Webページ上の一覧が読み込まれているか確認する。
  2. 「要素の繰り返し処理」の設定を変更する。
  3. 「再読込」をクリックし、対象リストを更新する。
  4. 対象件数と対象要素の内容を確認する。
  5. 問題がなければロボットをテスト実行する。

繰り返し範囲が想定どおりにならない場合の確認ポイント

症状確認する設定
必要な要素の一部しか取得できない「取得範囲」を「拡張した範囲の要素」に変更
不要な要素まで対象になるXPathの除外
特定のHTML構造だけ対象にしたいXPathのフィルター/XPathの直接編集
表示文字で対象を絞りたい表示値のフィルター
最後の要素だけ処理したい開始行に -1 を指定
設定変更しても対象が変わらない再読込して対象リストを確認
実行のたびに対象が変わるXPathや要素指定の安定性を確認

このページで扱うのはWebページ内の要素の繰り返しです。検索結果が複数ページに分かれている場合は、ページ移動を組み合わせる必要があります。詳しくはページをまたがって繰り返し処理する方法をご確認ください。

一覧の各行から文字や値を取得する場合は、繰り返し処理内で「値取得」アクションを使用します。Webページから文字・値を取得する方法も参考にしてください。


関連するマニュアル・ナレッジ

JobAutoのブラウザ操作ナレッジ一覧へ戻る

1件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。