JobAutoでWebページの要素が表示されるまで待つ方法

★アクションの説明、概要

JobAutoのブラウザ操作で、Webページ上の指定した要素が表示されるまでロボットの処理を待機させる方法について説明します。 ページの読み込みや画面更新に時間がかかるWebサイトで、ボタン、入力欄、メッセージなどが表示されてから次の処理を実行したい場合に利用できます。

待ち時間は秒数で設定でき、「この要素が表示されるまで待つ」と「この要素が消えるまで待つ」を選択できます。 そのため、要素の表示待ちだけでなく、処理中メッセージやローディング表示などが消えるまで待機する場合にも利用できます。

指定した要素が表示されない場合や、待ち時間を設定しても想定どおりに処理が進まない場合は、待ち時間の長さや、XPath、Attribute、Value、テキストパターン、要素のインデックスなどの要素指定も確認してください。

このページでは、「この要素が出るまで待つ」アクションの作成方法と設定項目について説明します。 記事後半では、要素が表示されない場合や待機処理がうまく動かない場合の確認ポイントも紹介します。


★アクションの作成方法


★アクションの設定画面について

アクション設定画面の設定項目についての説明は以下の通りです。

1.基本設定

1-1. 待ち時間

ロボットが処理を停止する時間を設定します。単位は秒です。変数参照可能です。

・この要素が表示されるまで待つ

指定した要素が表示されるまで待つ場合に選択します。

・この要素が消えるまで待つ

指定した要素が消えるまで待つ場合に選択します。


2.高度な設定

rangename、xpath、Attribute、Value、テキストパターンの設定をすることで、ロボットが操作する要素を指定します。要素にフォーカスボタンで設定した内容で操作したい要素をロボットが見つけられるか確認することができます。

2-1.rangename

指定した要素を探す対象範囲を設定します。要素のループの中で行う場合に設定します。

2-2.xpath

要素の指定を行います。変数参照可能です。

2-3.Attribute

要素の指定を行います。バージョン0.10.2から標準で自動設定されないようになりました。必要に応じてプルダウンで選択することができます。

2-4.Value

要素の指定を行います。バージョン0.10.2から標準で自動設定されないようになりました。Attributeで選択した設定に応じて内容が変わります。
バージョン0.10.7から変数参照が可能になりました。

2-5. テキストパターン

Webサイト内に表示されている文字を設定します。変数参照可能です。

2-6.要素のインデックス

ここまで設定した内容で1つの要素に絞り込めない場合、何番目の要素を操作するか指定します。1番目の場合、0を設定します。変数参照可能です(0.10.9から)。

2-7. 要素に対してフォーカスを移動する

本アクションが実行されるときに、指定した要素にフォーカスを当てる場合、チェックを入れます。

2-8.アラートが出ていればエラーとする

本アクションを実行するときにブラウザからアラートメッセージが表示されていた場合にエラーとするときは、チェックを入れます

2-9.アクション有効

このアクションを無効にする場合は、チェックを外します。


3.エラー発生時の対応

3-1. エラー時の処理

エラーが発生したときの設定を行います。詳細はこちらをご確認ください。

3-2.基点となる条件分岐

エラー時の処理で条件分岐の次のフローに移動を選択したときに、設定することができます。アクションでエラーが発生した場合、移動先の条件分岐を選択します。

3-3. エラー時にログ出力

エラーが発生したときにログに出力するか設定します。スケジュール実行したときのログへ出力されます。エラーとして扱わない場合は、チェックを外します。詳細はこちらをご確認ください。


Webページの要素が表示されない場合

「この要素が表示されるまで待つ」を設定しても対象の要素が表示されない場合は、まずWebページ上に実際に対象の要素が表示されるか確認してください。

ページの読み込みや検索処理、画面更新などに時間がかかっている場合は、JobAutoで設定している「待ち時間」が短すぎる可能性があります。

対象となるWebページの表示時間に合わせて、待ち時間を調整してください。

待ち時間が足りず次の処理が失敗する場合

Webページの表示に時間がかかる場合、待機時間が十分でないと、次に実行するクリックや値入力、値取得などのアクションで対象要素を見つけられないことがあります。

この場合は、「この要素が出るまで待つ」で指定している待ち時間を確認し、対象の要素が表示されるまでに必要な時間を確保してください。

固定時間だけ待機するよりも、次に操作するボタンや入力欄など、実際に必要となる要素が表示されるまで待つようにすると、Webページの表示時間が変化する場合にも対応しやすくなります。

待つ対象とは違う要素を指定している場合

待ち時間を長くしても想定どおりに動かない場合は、JobAutoが待機対象として指定している要素を確認してください。

高度な設定では、rangename、XPath、Attribute、Value、テキストパターン、要素のインデックスを使って対象となる要素を指定します。

「要素にフォーカス」を使い、実際に表示を待ちたいボタンや入力欄などへフォーカスが当たることを確認してください。

実行すると要素が見つからない場合

ロボットを作成したときは対象要素を認識できても、テストやスケジュール実行では同じ要素を見つけられない場合があります。

Webサイト側でXPath、ID、classなどの情報が変化すると、ロボット作成時と同じ要素を特定できなくなることがあります。

この場合は、XPath、Attribute、Value、テキストパターン、要素のインデックスなどの要素指定を確認してください。

要素指定について詳しく確認したい場合は、 「JobAutoでブラウザの要素が見つからないときの設定方法|XPath・要素指定のコツ」 もあわせて確認してください。

同じような要素が複数ある場合

Webページ内に同じ条件に一致する要素が複数存在すると、待機したい要素とは別の要素が対象になる場合があります。

その場合は、「要素のインデックス」を確認してください。 インデックスを変更したあとは「要素にフォーカス」を使い、実際に待機したい要素が指定されていることを確認します。

要素自体にフォーカスが当たらない場合

待機したい要素へ「要素にフォーカス」を実行してもフォーカスが当たらない場合は、通常の要素指定では対象を取得しにくいWebサイトの可能性があります。

この場合は、 「JobAutoでブラウザの要素にフォーカスが当たらない場合の対処方法」 も確認してください。

処理中の表示が消えるまで待つ場合

Webサイトによっては、検索や登録などの処理中にローディング表示やメッセージが表示され、処理が完了すると消えることがあります。

このような場合は、基本設定の「この要素が消えるまで待つ」を利用できます。 処理中に表示される要素が消えてから次のアクションを実行することで、画面更新の途中で後続処理を実行することを防ぎやすくなります。

要素の表示待ちがうまくいかない場合の確認順序

要素の表示待ちがうまく動かない場合は、まずWebページ上で対象要素が実際に表示されることを確認してください。

次に「待ち時間」を確認し、ページ表示に必要な時間が確保されているか確認します。

それでも待機できない場合は、「要素にフォーカス」で対象要素が正しいことを確認し、XPath、Attribute、Value、テキストパターン、要素のインデックスなどの設定を見直してください。

ブラウザ操作全般のトラブルについては、 JobAutoブラウザ操作FAQ もあわせて確認してください。

ブラウザ操作の基本的な設定方法については、 JobAutoのブラウザ操作マニュアル も確認してください。

2件のコメント

コメントを残す

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