★質問・概要
Q.BoxなどのWebサイトでファイルを検索すると、検索結果の並び順が毎回変わります。JobAutoのブラウザ操作で、順番に左右されず特定のファイル名のリンクをクリックするにはどうすればよいですか?
★回答
JobAutoでは、「テキストパターン」で目的のファイル名を指定する方法と、「要素の繰り返し処理」でリンク名を順番に確認する方法があります。検索結果の表示順が変わる場合は、クラス名や要素のインデックス番号だけで操作する対象を固定せず、ファイル名を条件にしてリンクを選択します。
| 方法 | 使用する機能 | 向いているケース |
|---|---|---|
| 方法1:テキストパターン | マウス操作の高度な設定 | 目的のファイル名で直接リンクを特定できる場合 |
| 方法2:要素の繰り返し処理 | 要素の繰り返し処理・値取得・変数の値の評価・マウス操作 | 一覧の各行を確認して、条件に合致するファイルだけをクリックしたい場合 |
以下では、例として検索結果に「見積書.xlsx」「請求書.xlsx」「注文書.xlsx」が表示され、「請求書.xlsx」をクリックするケースを説明します。
1.方法1:テキストパターンでファイル名のリンクを指定する
表示されているリンク名で操作対象を絞り込める場合は、この方法が比較的シンプルです。
- Boxでファイルを検索し、検索結果の一覧を表示します。
- クリックしたいファイル名のリンクに対して、JobAutoの「マウス操作」アクションを作成します。
- マウス操作の「高度な設定」タブを開き、「xpath」へ
//と入力します。 - 「テキストパターン」に、クリックしたいリンクの表示名(例:
請求書.xlsx)を設定します。 - 設定後、「要素にフォーカス」ボタンを押して、指定したファイル名のリンクに正しくフォーカスが当たるか確認します。
- 目的のリンクが指定できていることを確認したら、マウス操作でクリックします。
| 高度な設定の項目 | 設定例 |
|---|---|
| Xpath | // |
| テキストパターン | 請求書.xlsx |
| 動作確認 | 「要素にフォーカス」で目的のリンクを確認 |
ポイント:// は、この方法について公式フォーラムで案内している入力値です。JobAutoの「xpath」欄へそのまま設定してください。また、テキストパターンに一致する候補が複数ある場合は、別のリンクが選択されるおそれがあります。クリックする前に必ず「要素にフォーカス」で対象を確認してください。
ファイル名を変数で管理している場合は、テキストパターンへ変数の値を参照させることもできます。詳しくはXPath・テキストパターン・要素インデックスの設定方法をご確認ください。
2.方法2:要素の繰り返し処理でリンク名を1件ずつ判定する
ファイル名だけでは操作対象を一度に絞り込めない場合や、検索結果の各行を確認したい場合は、「要素の繰り返し処理」を使用します。各行からリンク名を取得し、「変数の値の評価」で目的のファイル名と一致するか判定します。
2-1.検索結果を繰り返し処理の対象にする
- Boxの検索結果を表示し、「要素の繰り返し処理」アクションを作成します。
- 検索結果の各行、またはファイル名のリンクを繰り返し対象として設定します。
- 繰り返し処理に名前を設定します。例:
検索結果一覧。 - 「繰り返しの対象リスト」に、処理したいリンクが含まれていることを確認します。
2-2.繰り返し内でリンク名を取得する
「要素の繰り返し処理」の内側へ「値取得」アクションを追加し、現在処理している行のリンク名を取得します。取得した値は変数(例:取得ファイル名)へ格納します。
値取得アクションの「高度な設定」にある「rangename」には繰り返し処理で指定した名前(例:検索結果一覧)を設定し、現在の行を対象にして値が取得されるか確認してください。anywhere のままだと、意図せず一覧の別の要素から値を取得する場合があります。
2-3.変数の値の評価でファイル名を比較する
続けて「変数の値の評価」アクションを設定し、取得したリンク名が目的のファイル名(例:請求書.xlsx)と一致するかを判定します。
| 判定結果 | 後続処理 |
|---|---|
| 目的のファイル名と一致する | 現在の行のリンクを「マウス操作」でクリックします。 |
| 目的のファイル名と一致しない | 次の繰り返し対象へ進み、次のリンク名を取得します。 |
一致した場合の「マウス操作」も、必要に応じて「rangename」を繰り返し処理の名前に設定し、現在処理中のリンクをクリックするように指定します。目的のファイルをクリックして画面が切り替わる場合は、同じ一覧を続けて操作しないよう、必要に応じて繰り返し処理を終了する構成にします。
2-4.処理の流れ
要素の繰り返し処理(検索結果一覧) │ ├─ 値取得:現在の行のリンク名を取得 │ ↓ ├─ 変数の値の評価:目的のファイル名と一致する? │ │ │ ├─ 一致する → マウス操作:現在のリンクをクリック │ │ (必要に応じて繰り返し処理を終了) │ │ │ └─ 一致しない → 次の行の処理へ │ └─ 次の検索結果へ
「変数の値の評価」には、判定結果に応じて次の繰り返し処理に移動したり、繰り返し処理をやめたりする機能があります。詳しくは変数の値を評価するアクションをご参照ください。
要素の繰り返し処理に関する設定方法は、JobAutoでWebページの一覧・表を繰り返し処理する方法をご確認ください。
3.どちらの方法を使えばよいですか?
最初は方法1のテキストパターンを試すことをおすすめします。目的のファイル名のリンクへ正しくフォーカスが当たるなら、要素の繰り返し処理を使わずにクリックできます。
方法1で目的のリンクを絞り込めない場合や、一覧の各行の内容を確認して条件分岐したい場合は、方法2を使用してください。
4.対象のファイルをクリックできない場合の確認事項
- テキストパターン:Boxの画面に表示されるリンク名と、設定したファイル名が一致しているか確認します。
- 同名ファイル:同じ名前のファイルが複数ある場合は、フォルダ情報など追加の条件による絞り込みを検討します。
- 要素にフォーカス:実際にクリックしたいファイルのリンクへフォーカスが当たっているか確認します。
- rangename:繰り返し処理内の値取得・マウス操作では、現在の行を対象にしているか確認します。
- 繰り返しの対象リスト:一覧の一部しか処理対象にならない場合は「再読込」や取得範囲、XPathなどを確認します。
- 検索結果の読込:検索が完了する前に操作しないよう、表示待ちやタイムアウトの設定を確認します。
- 複数ページの検索結果:一覧が複数ページに分かれる場合は、ページをまたぐ処理も必要になります。
Boxの画面構造や表示形式によって、ファイル名を表示する要素と実際にクリックする要素が異なる場合があります。その場合は、JobAutoの要素指定を調整し、操作対象が正しいことを確認してください。
関連するマニュアル・FAQ
- JobAutoでWebページの中のXPathを取得する方法:XPath、テキストパターン、要素にフォーカス、rangenameの設定
- JobAutoでWebページの一覧・表を繰り返し処理する方法:要素の繰り返し処理、対象リスト、取得範囲
- JobAutoの変数操作マニュアル:変数の値の評価、次の繰り返し処理へ移動・繰り返し処理の終了
