JobAutoでWebページの文字・値を取得する方法

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

JobAutoのブラウザ操作で、Webページ内に表示されている文字や値を取得する方法について説明します。 値取得アクションでは、画面に表示されているテキストだけでなく、対象となるWebページの要素からHTMLなどの値を取得することもできます。

取得した値は変数へ格納できるため、Excelへの書き込み、条件分岐、後続のブラウザ操作などで利用できます。

Webページから値を取得できない場合や、想定とは異なる要素の値を取得してしまう場合は、XPath、Attribute、テキストパターン、要素のインデックスなどの要素指定も確認してください。


★アクションの作成方法


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

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

1.基本設定

1-1. 取得する属性

取得する値の属性を選択します。選択中の要素の構成によって、表示されている内容は変わります。

1-2. 取得する値

指定した属性で実際に取得される値が表示されます。

1-3. 格納先

取得した値を格納する変数を設定します。


2.高度な設定

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

2-1.rangename

指定した要素を探す対象範囲を設定します。要素のループの中で行う場合に設定します。
要素のループ内でアクションを実行させたいのにrangenameがanywhereになっていると、意図した箇所で動いてくれません。

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.アラートが出ていればエラーとする

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

2-10.要素が見つかるまでのタイムアウト(秒)

設定した秒数までロボットが要素を探します。

2-10.アクション有効

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


3.エラー発生時の対応

3-1. エラー時の処理

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

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

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

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

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


Webページの文字や値を取得できない場合

値取得アクションを実行しても値を取得できない場合は、まずJobAutoが取得対象の要素を正しく認識できているか確認してください。

アクション設定画面の「要素にフォーカス」を使い、実際に値を取得したい場所へフォーカスが当たるか確認します。 別の場所へフォーカスが当たる場合や、「要素が見つかりません」となる場合は、要素の指定方法を見直してください。

想定とは違う値を取得する場合

同じ条件に一致する要素がWebページ内に複数存在すると、取得したい場所とは別の要素から値を取得する場合があります。

その場合は、アクション設定画面の「要素のインデックス」を確認してください。 インデックスを変更したあとは「要素にフォーカス」を使い、取得したい要素が選択されていることを確認します。

XPathや要素指定が原因で取得できない場合

ロボットを作成したときは値を取得できても、テストやスケジュール実行では取得できない場合があります。 Webサイト側でXPath、ID、classなどが変化していると、作成時と同じ要素を見つけられないことがあります。

XPath、Attribute、Value、テキストパターン、要素のインデックスなどの調整方法については、 JobAutoでブラウザの要素が見つからないときの設定方法 も確認してください。

画面上に見えていない要素から値を取得する場合

取得したい要素がHTML上には存在していても、画面上では隠れている、またはサイズを持たない状態になっている場合があります。

このような要素を取得対象にする必要がある場合は、値取得アクションの高度な設定にある「サイズ無しも含めて検索」を確認してください。

値が表示されるまで時間がかかる場合

Webページの表示やデータの読み込みに時間がかかる場合は、値取得アクションが対象要素を見つける前に処理が終了することがあります。

その場合は、高度な設定の「要素が見つかるまでのタイムアウト(秒)」を確認してください。

取得した値を後続処理で利用する

値取得アクションで取得した値は、設定した変数へ格納されます。 その変数を使って、Excelへの書き込み、条件分岐、別のWebページへの入力などの後続処理を作成できます。

変数の利用方法については、 JobAutoの変数処理マニュアル も確認してください。

取得したデータをExcelへ書き込みたい場合は、 JobAutoのExcel操作マニュアル もあわせて確認してください。

ブラウザの値取得がうまくいかない場合の確認順序

Webページから値を取得できない場合は、まず「要素にフォーカス」で取得対象を確認し、次にXPathやAttribute、テキストパターン、要素のインデックスを確認してください。

対象要素が隠れている可能性がある場合は「サイズ無しも含めて検索」、ページの表示に時間がかかっている場合は「要素が見つかるまでのタイムアウト(秒)」も確認します。

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

コメントを残す

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