JavaScriptを実行
Automation Anywhere A2019でJavaScriptを実行するには「JavaScript」パッケージを使います。また、ウェブページ上のJavaScriptを実行するには「レガシー オートメーション: Web : JavaScript 関数を実行」アクションを使います。
目次
「JavaScript」パッケージを使う方法
JavaScriptパッケージには「開く」「JavaScriptを実行」「閉じる」の3つのアクションが含まれています。これらを順番に配置し、コードのファイルまたは内容は「開く」で指定、「JavaScriptを実行」を実行するタイミングで引数を指定して実行します。「閉じる」は最後に配置します。
ちなみに、JavaScriptで書かれたコードは、特にコードが長くなるとメンテナンスが難しくなったりエラー処理をきちんとする必要が出てきます。代替手段が他にない場合のみに、なるべく短いコードで使うことをお勧めします。
「JavaScript : 開く」(JavaScript : Open) アクションの使い方 JavaScriptを開きます。
入力:
|
「JavaScript : JavaScriptを実行」(JavaScript : Run JavaScript) アクションの使い方 JavaScriptを実行します。
入力:
出力:
|
「JavaScript : 閉じる」(JavaScript : Close) アクションの使い方 JavaScriptを閉じます。
入力:
|
解法:
- 「JavaScript: 開く」アクションを配置します。
- アクションの詳細パネルで以下を指定します。
- 「JavaScript」は「手動インポート」を選択。
- 「ここにスクリプトを入力します」には以下を設定。
function getRandom() {
return Math.floor( Math.random()*10000 );
} - 保存します。
- 「JavaScript: JavaScriptを実行」アクションを配置します。
- アクションの詳細パネルで以下を指定します。
- 「実行する関数の名前を入力します」には「getRandom」を指定。
- 「出力を変数に代入」には $prompt-assignment$ - 文字列を指定します。
- 保存します。
- 「JavaScript: 閉じる」アクションを配置して、保存します。
- 「メッセージボックス : メッセージボックス」アクションを配置してアクションの詳細パネルの「表示するメッセージを入力します」に $prompt-assignment$ を指定します。
- 保存して実行します。
結果:
ランダムな整数が表示されます。
注意: 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 関数を実行します。
入力:
出力:
|
解法:
- 「レガシー オートメーション: Web : JavaScript 関数を実行」アクションを配置します。
- アクションの詳細パネルで以下を指定します。
- 「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> - 保存して実行します。
結果:
Internet ExplorerでURLで指定したデモサイトが開きます。その後、最初の関数の場合は"Please enter your username."というメッセージボックスが、2番目の関数の場合は "ハローワールド"というメッセージボックスが表示されます。