JobAutoでWebページに文字・値を入力する方法

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

JobAutoのブラウザ操作で、 Webページ内に表示されている文字や値を取得する方法について説明します。

「値取得」アクションでは、 画面に表示されているテキストだけでなく、 対象となるWebページの要素からHTMLなどの値を取得できます。

取得した値はJobAutoの変数へ格納できるため、 条件分岐、Excelへの書き込み、 別のWebページへの値入力などの後続処理で利用できます。

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

Webページの一覧や表から複数の値を順番に取得する場合は、 「要素の繰り返し処理」と組み合わせて使用できます。

このページでは、 値取得アクションの作成方法と設定項目、 Webページから値を取得できない場合の確認ポイントについて説明します。

・Googleスプレッドシートへ値が入力できない

2023年7月21日ごろから本アクション「値入力」ではGoogleスプレッドシートの数式バーから、選択中のセルへ値を入力するという方法ができなくなっていることが確認できています。

従来の方法では入力することができないため、こちらの新しい方法での入力をお願いいたします。

・ボックスへ入力できないときは

WEBサイトのボックスの中には値入力アクションで入力できないものもあります。その場合は、Javascriptによる入力を行います。0.10.9からJavascriptを使って入力する方式が追加されました

こちらをご覧ください


★アクションの作成方法


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

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

1.基本設定

1-1.入力する値

ブラウザへ入力する値を設定します。変数参照可能です。またシステム値を使用可能です。システム値の説明はこちら。

1-2.入力方式

ブラウザへ入力する方法を設定します。

・直接入力

キーボードを使った入力方法です。

・クリップボードからCtrl+V

コピーした値を貼り付ける入力方法です。入力する値が小文字の場合、キーボートがCAPSLOCK状態の場合でも小文字で入力されます

・JavaScriptによる入力(0.10.9から追加)

JavaScriptを使って入力されます。入力する値が小文字の場合、キーボートがCAPSLOCK状態の場合でも小文字で入力されます


2.高度な設定

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

2-1.range_name

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

2-2.xpath

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

2-3.Attribute

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

2-4.Value

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

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

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

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

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

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

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

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

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

2-9.入力時のオプション

・入力前クリック

入力する前に入力個所をクリックする場合にチェックを入れます.

・入力前 クリア

入力する前に入力個所をクリアする場合にチェックを入れます。

・入力時の改行をShift+Enter

入力後にShiftキー+Enterキーによる改行を行う場合にチェックを入れます。

・入力後エンター

エンターキーを入力後に押す場合にチェックを入れます。

・入力後タブ

入力後にタブキーを押す場合にチェックを入れます。

2-10.値入力前の待ち時間(秒)

値を入力するまでに待ち時間が必要な場合は設定します。変数参照可能です。

2-11.値入力後の待ち時間(秒) ※0.10.10

値を入力した後に画面上に表示されたデータが更新されるなどの動きをするWEBサイトの場合、待ち時間を設定します。変数参照可能です。

2-12.アクション有効

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


3.エラー発生時の対応

3-1. エラー時の処理

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

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

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

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

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



Webページから文字や値を取得する場合

Webページに表示されている文字や、 Webページの要素が持つ値を取得する場合は、 「値取得」アクションを使用します。

取得した値は、 基本設定の「格納先」で指定したJobAutoの変数へ格納されます。

取得した値を後続処理で使用する場合は、 あらかじめ格納先となる変数を設定してください。

取得する属性と取得する値を確認する

「取得する属性」では、 操作対象として指定した要素から どの属性の値を取得するか選択します。

選択できる内容は、 操作対象となるWebページの要素の構成によって変わります。

「取得する値」には、 選択した属性で実際に取得される値が表示されます。 取得したい内容になっているか確認してください。

Webページから値を取得できない場合

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

アクション設定画面の「要素にフォーカス」を使い、 実際に値を取得したい場所へフォーカスが当たるか確認します。

別の場所へフォーカスが当たる場合や、 「要素が見つかりません」となる場合は、 XPath、Attribute、Value、テキストパターンなどの 要素指定を確認してください。

ブラウザの要素をうまく指定する方法については、 JobAutoでブラウザの要素が見つからないときの設定方法 も確認してください。

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

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

その場合は、 高度な設定の「要素のインデックス」を確認してください。

要素のインデックスでは、 XPath、Attribute、Value、テキストパターンなどで 1つの要素に絞り込めない場合に、 何番目の要素を対象にするか指定できます。

1番目の要素を指定する場合は「0」を設定します。

設定を変更したあとは、 「要素にフォーカス」を使って、 取得したい要素が指定されているか確認してください。

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

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

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

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

Webページの表示やデータの読み込みに時間がかかり、 対象となる要素を取得できない場合は、 高度な設定の 「要素が見つかるまでのタイムアウト(秒)」を確認してください。

設定した秒数までJobAutoが対象の要素を探します。

Webページの一覧や表から複数の値を取得する場合

Webページの一覧や表など、 複数の要素から順番に値を取得する場合は、 「要素の繰り返し処理」と「値取得」を組み合わせます。

「要素の繰り返し処理」で対象となる要素を順番に処理し、 その中で「値取得」を実行します。

値取得アクションの高度な設定にある「rangename」では、 値を探す対象となる要素の繰り返し範囲を指定できます。

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

繰り返し処理の中で値を取得する場合の注意点

「要素の繰り返し処理」の中で値取得を行い、 ある要素で値の取得に失敗した場合は、 取得した値の格納先として設定している変数が初期化されます。

一覧や表から複数の値を取得する場合は、 この動作も考慮して後続処理を設定してください。

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

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

値取得アクションで取得した値は、 「格納先」で設定したJobAutoの変数へ格納されます。

取得した値は、 条件分岐、値の加工、 Excelへの書き込み、 別のWebページへの値入力などで利用できます。

JobAutoの変数について詳しく確認したい場合は、 JobAutoの変数処理マニュアル も確認してください。

「値入力」と「値取得」の使い分け

「値入力」と「値取得」は、 どちらもWebページの要素を指定して使用しますが、 データを処理する方向が異なります。

やりたいこと 使用するアクション
Webページの入力欄へ文字や値を入力する 値入力
Webページの要素から文字や値を取得する 値取得

Webページへ文字や値を入力する場合は、 JobAutoでWebページに文字・値を入力する方法 を確認してください。

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

  1. 「取得する属性」と「取得する値」が目的の内容になっているか確認する
  2. 「要素にフォーカス」で取得したい要素が指定されているか確認する
  3. XPathを確認する
  4. AttributeとValueを確認する
  5. テキストパターンを確認する
  6. 複数の要素が一致する場合は「要素のインデックス」を確認する
  7. 繰り返し処理の中で使用する場合は「rangename」を確認する
  8. 画面上に見えていない要素の場合は「サイズ無しも含めて検索」を確認する
  9. 表示に時間がかかる場合は「要素が見つかるまでのタイムアウト(秒)」を確認する

関連するブラウザ操作・FAQ

4件のコメント

  1. 入力アイテムごとにAjaxが組み込んであるサイトの場合に、前の値をクリアした際に待ち時間が必要な時があり、その待ち時間の設定ができると助かります。Ajaxのコンプリートのタイミングはわからないと思うのでせめて待ち時間の設定を変数で指定したい。

    返信

    1. コメントいただいた件、承知いたしました。
      入力時に待ち時間を設定することができる機能の追加を検討いたします

      返信

コメントを残す

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