「Javascriptを挿入」アクティビティのご紹介をします。
1.アクティビティのプログラム名
RCA.Activities.Browser.InjectJs
2.説明
Studio バージョン ~2.1.1.0
クイックアクセス: 「ツールボックス」 > 「ブラウザ」 > 「Javascriptを挿入」
Studio バージョン 2.1.1.1(RCA.Activities.Browser バージョン 2.1.0.1)~
クイックアクセス: 「ツールボックス」 > 「ブラウザ」 > 「Javascriptを挿入(B)」
※コボットStudio/Agent2.1.1.1リリース時のアクティビティ(RCA.Activities.Browser バージョン 2.1.0.1)から、アクティビティ名の後ろに(B)が付きました。アクティビティのバージョンを更新する方法は「アクティビティの追加・削除方法(2.1.0.0~)」をご参照ください。
WebページにJavascriptを挿入することができます。
※動作を確認したコボットStudioのバージョン:2.1.1.1
※バージョンによって文言などが一部異なる場合がございます
3.プロパティ
プロパティ項目 | プロパティ名 | 入力欄 | 説明 |
---|---|---|---|
その他 | パブリック | チェック項目 | ログにアクティビティ内の変数と引数がログファイルに書き込まれ、Centerにプッシュされる。(詳細は「プロパティ項目「パブリック」について」を参照) |
表示名 | 任意の文字列 | デザイナーパネルのアクティビティ名に反映される。 | |
一般 | エラー時に続行 | 値を入力(Boolean型) | エラー時に後続の処理に進む。 |
出力 | 出力スクリプト | 値を入力(String型) | Javascriptの結果を取得する。 |
入力 | スクリプトファイル | 値を入力(String型) | 実行したいJavascriptファイル名を指定する。 |
4.使い方
「Javascriptを挿入」アクティビティの使用例を参考に説明します。
【例】ブラウザ(Google chrome)で任意のページを開いている状態 で、入力フィールドにJavascriptで文字入力を行う
今回は、Webページ内の「名前」欄に「kobot tarou」と入力するJavascriptを実行するワークフローを作成します。
「ブラウザ」 > 「ブラウザを開く」アクティビティで開きたいページを設定しておきます。このとき、
「完了または障害が発生した場合にブラウザを終了」プロパティのチェックを外しておくとワークフロー実行後にブラウザ上で結果を確認できます。
「Javascriptを挿入」アクティビティを「ブラウザを開く」アクティビティ内にドラッグ&ドロップで配置します。
次に、下の画像の赤で囲んだ部分をクリックし、実行したいJavascriptを記載したファイルを指定します。
今回実行するスクリプトファイルの中身は下の画像のようになっています。プロジェクトフォルダ内に保存しています。
設定を行うと、ワークフローは下の画像のようになります。
「ホーム>スタート」ボタン、または「F5」キーにてワークフローを実行すると、指定した入力フィールドに文字が入力されます。
【例】JS出力を用いて、スクリプトからの戻り値を取得する
「出力スクリプト」プロパティを用いることで、スクリプトからの戻り値を取得することが出来ます。今回実行するスクリプトファイルの中身は下の画像のようになっています。プロジェクトフォルダ内に保存しています。
※「function利用時の注意点」もご確認お願いします
まず、スクリプトから取得した戻り値を格納するString変数「result」を宣言し、「出力スクリプト」プロパティに変数「result」を指定します。※変数の作成方法は「変数の作成」をご参照ください
※下記画像は予め変数パネルで「result」を作成した場合の手順です
次に変数「result」に値が入っていることを確認するために、「メッセージボックス」を設置します。
「ホーム>スタート」ボタン、または「F5」キーにてワークフローを実行すると、指定した入力フィールドに文字が入力された後で"OK"のメッセージが画面に表示されます。
5.function利用時の注意点
Javascriptで関数(function)を使用する場合の注意点があります。
- 「Intrnet Explorer」 > 「Javascriptを挿入(IE)」アクティビティ
- 「ブラウザ」 > 「Javascriptを挿入(B)」アクティビティ
上記2つのアクティビティではJavascriptの記述方法が異なります。
この記事で説明している「Javascriptを挿入(IE)」の場合はfunctionの定義の外側に「return」の記載は不要ですが、「Javascriptを挿入(B)」の場合はfunctionの定義の外側に「return」の記述を行なう必要があります。
「Javascript(IE)」の場合
・・・
}
「Javascript(B)」の場合
・・・
}
return a();