オートメーション道場

RPAツール「Automation 360」(旧Automation Anywhere A2019) の使い方についてまとめていきます。

JavaScriptを実行

JavaScriptを実行

Automation Anywhere A2019でJavaScriptを実行するにはJavaScript」パッケージを使います。また、ウェブページ上のJavaScriptを実行するには「レガシー オートメーション: Web : JavaScript 関数を実行」アクションを使います。

目次

 

JavaScript」パッケージを使う方法

 JavaScriptパッケージには「開く」「JavaScriptを実行」「閉じる」の3つのアクションが含まれています。これらを順番に配置し、コードのファイルまたは内容は「開く」で指定、「JavaScriptを実行」を実行するタイミングで引数を指定して実行します。「閉じる」は最後に配置します。

ちなみに、JavaScriptで書かれたコードは、特にコードが長くなるとメンテナンスが難しくなったりエラー処理をきちんとする必要が出てきます。代替手段が他にない場合のみに、なるべく短いコードで使うことをお勧めします。

JavaScript : 開く」(JavaScript : Open) アクションの使い方

 JavaScriptを開きます。

 

入力:

 フィールド名  型  説明

JavaScript セッション
(JavaScript session)

文字列   セッション名です。
JavaScript
(JavaScript)
選択肢

 「既存のファイルをインポート」or「手動インポート」

JavaScript ファイル
(JavaScript file)
ファイルパス 「既存のファイルをインポート」の場合:
JavaScriptコードの書かれた外部テキストファイルのパス。
ここにスクリプトを入力します
(Enter script here)
コード 「手動インポート」の場合:
JavaScriptコードを直接記載します。

 

JavaScript : JavaScriptを実行」(JavaScript : Run JavaScript) アクションの使い方

 JavaScriptを実行します。

 

入力:

 フィールド名  型  説明

JavaScript セッション
(JavaScript session)

文字列   セッション名です。
実行する関数の名前を入力します (オプション)
(Enter name of function to be executed (optional))
文字列

 関数を実行する場合は関数名を指定。

パラメータ (オプション)
(Parameters (optional))
任意 関数に渡す引数。複数の場合はリスト型変数を渡す。

出力:

 フィールド名  型  説明
出力を変数に代入 (オプション)
(Assign the output to variable (optional))
文字列 出力を格納する変数を指定 

 

JavaScript : 閉じる」(JavaScript : Close) アクションの使い方

 JavaScriptを閉じます。

 

入力:

 フィールド名  型  説明

JavaScript セッション
(JavaScript session)

文字列   閉じようとしているセッション名を指定します。

 

解法:

  1.  「JavaScript: 開く」アクションを配置します。
  2.  アクションの詳細パネルで以下を指定します。
    • JavaScript」は「手動インポート」を選択。
    • 「ここにスクリプトを入力します」には以下を設定。

      function getRandom() {
      return Math.floor( Math.random()*10000 );
      }

  3. 保存します。
  4. JavaScript: JavaScriptを実行」アクションを配置します。
  5. アクションの詳細パネルで以下を指定します。
    • 「実行する関数の名前を入力します」には「getRandom」を指定。
    • 「出力を変数に代入」には $prompt-assignment$ - 文字列を指定します。
  6. 保存します。
  7. JavaScript: 閉じる」アクションを配置して、保存します。
  8. 「メッセージボックス : メッセージボックス」アクションを配置してアクションの詳細パネルの「表示するメッセージを入力します」に $prompt-assignment$ を指定します。
  9. 保存して実行します。

結果:

ランダムな整数が表示されます。

 

注意: JavaScriptの場合、alert、prompt、writelnのようなブラウザーが実装している画面出力や、WScript.Echo、WScript.StdOut.WriteLineのようなWSHオブジェクトを利用するとエラーになるようです。

 

「レガシー オートメーション: Web : JavaScript 関数を実行」アクションを使う方法

「レガシーオートメーション」パッケージには「Web : JavaScript関数を実行」アクションが含まれています。Internet Explorer限定になりますが、ウェブページ上のJavaScript関数を実行できます。このアクションはv11からの移行のために存在し、A2019で新しいボットを作成する際には利用が推奨されていません。

「レガシー オートメーション: Web : JavaScript 関数を実行」(Legacy automation : Web : Execute java script function) アクションの使い方

 Internet Explorer ページで JavaScript 関数を実行します。

 

入力:

 フィールド名  型  説明

URL
(URL)

文字列   ウェブページのURL。アクションが実行されるとInternet ExplorerでこのURLが開きます。
関数名
(Function name)
文字列

 ページ内にある関数名と引数 (abc(1,2)など) か、ページ内にない標準関数も指定できます (alert("ABC")など)。

 

出力:

 フィールド名  型  説明
出力を変数に代入 (オプション)
(Assign the output to variable (optional))
文字列 出力を格納する変数を指定 

 

解法:

  1.  「レガシー オートメーション: Web : JavaScript 関数を実行」アクションを配置します。
  2.  アクションの詳細パネルで以下を指定します。
    • 「URL」には「http://rpademo.automationanywhere.com/」を指定。
    • 「関数名」には「checkFields()」または「alert("ハローワールド")」を設定。
      尚、このページには以下のスクリプトが含まれています。

      <script>
        function checkFields()
          {
             if (maiden.username.value == "")
                {
                  alert("Please enter your username.");
                  maiden.username.focus();
                  return false;
                }
             if (maiden.password.value == "")
                {
                  alert("Please enter your password.");
                  maiden.password.focus();
                  return false;
                }
             maiden.submit();
          }
      </script>

  3. 保存して実行します。

結果:

Internet ExplorerでURLで指定したデモサイトが開きます。その後、最初の関数の場合は"Please enter your username."というメッセージボックスが、2番目の関数の場合は "ハローワールド"というメッセージボックスが表示されます。

 

オートメーション道場