サイトアイコン JobAutoマニュアル

JobAutoでJavaScriptを使ってXPathの要素数を取得する方法

★概要

JobAutoのブラウザ操作で、JavaScriptを使ってXPathに一致する要素の件数を取得する方法を説明します。Webページの一覧や表の行数を調べたい場合などに利用できます。

「JavaScript実行」アクションからdocument.evaluate()を実行し、取得した件数を戻り値としてJobAutoの変数へ格納します。値は後続の条件分岐などで使用できます。

「JavaScript実行」アクション自体の設定方法は、JobAutoでJavaScriptを実行する方法をご確認ください。


★XPathに一致する要素数を取得する方法

対象のWebページをブラウザで開き、「JavaScript実行」アクションに次のJavaScriptを設定します。XPathは取得したい要素に合わせて変更してください。

var result = document.evaluate(
'//*[@id="topicsfb"]/div/ul/li/a',
document,
null,
7,
null
);
return result.snapshotLength;

この例では、XPath //*[@id="topicsfb"]/div/ul/li/a に一致する要素の件数を取得します。XPathはサンプルです。実際のWebページの構造に合わせて指定してください。

JavaScriptの処理内容

例えば、XPathに一致する要素が5件あれば戻り値は「5」、一致する要素がなければ「0」になります。

取得した件数をJobAutoの変数に格納する

「JavaScript実行」アクションの基本設定にある「戻り値」で、件数の格納先となる変数を指定してください。取得した件数は、後続アクションの条件判定などに利用できます。

戻り値の設定方法は、JavaScript実行アクションのマニュアルで説明しています。


★操作動画

XPathに一致する要素の件数をJavaScriptで取得する操作例です。


★件数が取得できない場合の確認ポイント

結果が「0」になる場合

指定したXPathに一致する要素がない場合、取得結果は「0」になります。XPathが正しいか、対象のWebページが表示されているか確認してください。

ページの表示やデータの読み込みが終わる前に実行すると、必要な要素を取得できない場合があります。対象が表示された状態で、JavaScriptを再実行してください。

想定した件数と異なる場合

XPathで指定した範囲が広すぎたり、必要な要素を含んでいなかったりする場合があります。取得対象の要素をXPathで正しく指定できているか確認してください。

また、この方法で取得するのはJavaScriptの実行時点でXPathに一致した要素数です。画面の更新などで要素の数が変わった場合は、再度アクションを実行して件数を取得してください。

XPathや要素指定を見直す場合は、ブラウザの要素が見つからないときの設定方法もご確認ください。

繰り返し処理の対象件数を取得したい場合

「要素の繰り返し処理」アクションで繰り返し対象の件数を取得する場合は、高度な設定の「見つかった要素数」で件数を変数へ格納できます。繰り返し処理の対象件数を知りたいだけであれば、JavaScriptを使わずに取得する方法もご検討ください。

詳しくは、JobAutoでWebページの一覧・表を繰り返し処理する方法をご確認ください。


関連するマニュアル・FAQ

モバイルバージョンを終了