JobAutoのブラウザ操作で、操作したい要素が見つからない、違うボタンや入力欄を認識する、作成時は動いたのに実行するとエラーになる場合の要素設定のコツを説明します。
Webページの要素は、テキスト、class、ID、XPath、インデックスなどの情報を使って特定します。 Webサイトの作りによっては、これらの値が変化したり、同じ条件に一致する要素が複数存在したりするため、設定を調整する必要があります。
設定を変更したときは、「要素にフォーカス」を使って、実際に操作したい場所が選択されているか確認してください。
要素にフォーカスして設定を確認する
ブラウザアクションの要素設定を変更したら、「要素にフォーカス」を実行して、JobAutoがどの要素を操作対象として認識しているか確認します。
操作したいボタンや入力欄などに正しくフォーカスが当たっていれば、その要素設定で対象を特定できています。 別の場所へフォーカスが当たる場合は、要素の設定を見直してください。
再フォーカスで操作する要素を設定し直す
アクションの編集画面を開いた状態で、ブラウザ上の操作したい場所を選択すると、操作対象を設定し直すことができます。
ブラウザ内で対象を選択して右クリックし、再フォーカスを使って操作する要素を再設定してください。
テキストパターンで要素を指定する
画面上に表示されている文字を使って、操作する要素を指定することもできます。 ボタン名やリンクの文字などを利用できる場合は、テキストパターンを使って要素を指定します。
Webサイトによっては、テキストパターンを設定した直後は正常に動いても、ロボットをテストすると要素が見つからずエラーになる場合があります。
その場合は、テキストパターンに設定している文字の前へ「.*」を付けることで正常に動作する場合があります。
たとえば、画面上の「ログイン」という文字を使っている場合は、次のように設定します。
classは必要な場合だけ使用する
ブラウザアクションを作成したとき、Attributeに「class」が自動的に設定される場合があります。
classはWebページのデザインや表示を制御するためにも利用されるため、Webサイト側の変更によって値が変わることがあります。 そのため、classを使わなくても対象を特定できる場合は、classを空欄にして設定する方法も検討してください。
IDが変わるWebサイトではXPathの設定を確認する
操作対象のHTMLにIDが設定されている場合、JobAutoではIDを使ったXPathが設定されることがあります。
同じ画面でもアクセスするたびにIDが変化するWebサイトでは、作成時のXPathをそのまま使用すると、次回実行時に要素を見つけられなくなる場合があります。
IDが頻繁に変わるWebサイトでは、ID付きのXPathを利用する設定を外して要素を指定する方法を検討してください。
実行するたびにXPathが変わる場合
Webページの構造によっては、ロボットを作成したときと実行したときで、要素の位置を表すXPathが変わることがあります。
たとえば、作成時のXPathが次のようになっていたとします。
//*[@id="testdayo"]/div/div[2]/div[6]/img
別のタイミングで実行すると、次のように要素の位置が変わることがあります。
//*[@id="testdayo"]/div/div[2]/div[8]/img
この場合、位置を固定している「div[6]」や「div[8]」の部分を使わず、次のようなXPathにすることで、位置の変化を吸収できる場合があります。
//*[@id="testdayo"]/div/div[2]/div/img
Webページの構造に応じて、実行するたびに変わる部分をXPathから外せないか確認してください。
同じ要素が複数ある場合はインデックスを変更する
同じ文字のボタンが複数表示されている場合や、同じ条件に一致する要素が複数存在する場合は、JobAutoが操作したい場所以外の要素を選択することがあります。
その場合は、アクションの「高度な設定」にあるインデックスを変更して、何番目の要素を操作するか指定します。
インデックスを変更した後は、「要素にフォーカス」を実行し、実際に操作したい場所へフォーカスが当たることを確認してください。
要素が見つからない場合の確認順序
ブラウザ操作で要素が見つからない場合は、まず「要素にフォーカス」で現在の設定を確認してください。 正しい要素を選択できない場合は、再フォーカス、テキストパターン、class、ID付きXPath、XPath内の位置指定、インデックスの順に設定を確認すると原因を切り分けやすくなります。
要素の設定自体ではなく、操作したい場所にピンクのフォーカスそのものが当たらない場合は、「JobAutoでブラウザの要素にフォーカスが当たらない場合の対処方法」も確認してください。
ブラウザ操作の基本的な設定方法については、 JobAutoのブラウザ操作マニュアル もあわせて確認してください。
クリックできない、文字入力できない、Webページの要素を取得できないなどのトラブルについては、 JobAutoブラウザ操作FAQ も確認してください。
