Tokyo Discussions
都市の垣根なく、日本語でQ&Aできます
cancel
Showing results for 
Search instead for 
Did you mean: 

SAP Fioriにおけるクリックの制御について

uehara-y
Explorer
0 Kudos
1,390

皆様
閲覧いただきありがとうございます。

【背景】
SAP Fioriの画面操作をRPA製品で自動化したいと考えています。その製品はWebページに対してjavascriptを挿入して制御を試みます。

【質問】
SAP Fioriで表示されているボタンやタブをユーザが手動でクリックする操作をjavascriptで実行する方法を教えていただきたいです。
通常のWebページのように以下のように要素に設定されているIDなどのセレクタを元にclick()メソッドを発行しましたが特に反応がない状況です。

試したスクリプト1:
document.getElementById('elementのセレクタ').click();

試したスクリプト2:
event = new CustomEvent('click');
element.dispatchEvent(event);


もしご存じの方がいらっしゃればご教示頂けると大変ありがたいです。
お手数おかけいたしますが宜しくお願い致します。

7 REPLIES 7

masa_139
Product and Topic Expert
Product and Topic Expert
0 Kudos
1,340

コミュニティ利用ありがとうございます。
SAP Build Process Automation の RPA ではなさそうなので、実際の製品を明記したほうが回答を得られやすいです。また、この Web 画面では この javascript でできたけど、 Fiori だと同じ用にうまくいかない、など切り分け情報があると、回答側がどこが問題かコメントしやすいです。

0 Kudos
1,278

レスポンスありがとうございます。

ご指摘のように SAP Build Process Automation は利用しておりません。ブラウザのDevToolsコンソールでも同様の動作かと思いますので、DevToolsコンソール上で動作するJSを想定していただきたいです。

先の質問で例示したJavaScriptを用いて、SAP以外の一般的なWebサイトでクリックイベントを発火させていました。これがFioriでは動かないため質問をさせていただいています。

masa_139
Product and Topic Expert
Product and Topic Expert

0 Kudos
1,143

ありがとうございます。まずはUI5のサイトを確認しながら方法を探っていこうと思います。

0 Kudos
992

UI5のサイト確認致しました。
実施したい内容のイメージとしては、sap.uxap.AnchorBar の button 要素についてイベントを後天的に追加したい、というイメージです。

buttonオブジェクトを取得できれば button.attachBrowserEvent('click', callback()) のような方法でイベントをフックできると考えたのですが、ブラウザ上のJSからオブジェクトを取得する方法がわからず実施できておりません。

質問が続いて申し訳有りませんが、何らかの方法をご存じの方がいらっしゃったらご教示いただきたいです。

MakotoS
Product and Topic Expert
Product and Topic Expert
970

IDがついているエレメントであれば、こんな感じで親コンポーネントから取得できると思います。
https://sapui5.hana.ondemand.com/sdk/#/topic/91f28be26f4d1014b6dd926db0e91070

0 Kudos
909

リプライありがとうございます。 sap.ui.getCore().byId('ID') で要素取得できそうなため、この方向で進めてみようと思います。ご助力いただきありがとうございました。