2024 Apr 04 6:18 AM
皆様
閲覧いただきありがとうございます。
【背景】
SAP Fioriの画面操作をRPA製品で自動化したいと考えています。その製品はWebページに対してjavascriptを挿入して制御を試みます。
【質問】
SAP Fioriで表示されているボタンやタブをユーザが手動でクリックする操作をjavascriptで実行する方法を教えていただきたいです。
通常のWebページのように以下のように要素に設定されているIDなどのセレクタを元にclick()メソッドを発行しましたが特に反応がない状況です。
試したスクリプト1:
document.getElementById('elementのセレクタ').click();
試したスクリプト2:
event = new CustomEvent('click');
element.dispatchEvent(event);
もしご存じの方がいらっしゃればご教示頂けると大変ありがたいです。
お手数おかけいたしますが宜しくお願い致します。
2024 Apr 05 6:02 AM
コミュニティ利用ありがとうございます。
SAP Build Process Automation の RPA ではなさそうなので、実際の製品を明記したほうが回答を得られやすいです。また、この Web 画面では この javascript でできたけど、 Fiori だと同じ用にうまくいかない、など切り分け情報があると、回答側がどこが問題かコメントしやすいです。
2024 Apr 09 9:52 AM
レスポンスありがとうございます。
ご指摘のように SAP Build Process Automation は利用しておりません。ブラウザのDevToolsコンソールでも同様の動作かと思いますので、DevToolsコンソール上で動作するJSを想定していただきたいです。
先の質問で例示したJavaScriptを用いて、SAP以外の一般的なWebサイトでクリックイベントを発火させていました。これがFioriでは動かないため質問をさせていただいています。
2024 Apr 10 7:00 AM
2024 Apr 12 2:49 AM
2024 Apr 15 11:56 AM
UI5のサイト確認致しました。
実施したい内容のイメージとしては、sap.uxap.AnchorBar の button 要素についてイベントを後天的に追加したい、というイメージです。
buttonオブジェクトを取得できれば button.attachBrowserEvent('click', callback()) のような方法でイベントをフックできると考えたのですが、ブラウザ上のJSからオブジェクトを取得する方法がわからず実施できておりません。
質問が続いて申し訳有りませんが、何らかの方法をご存じの方がいらっしゃったらご教示いただきたいです。
2024 Apr 16 5:00 AM
IDがついているエレメントであれば、こんな感じで親コンポーネントから取得できると思います。
https://sapui5.hana.ondemand.com/sdk/#/topic/91f28be26f4d1014b6dd926db0e91070
2024 Apr 17 7:06 AM
リプライありがとうございます。 sap.ui.getCore().byId('ID') で要素取得できそうなため、この方向で進めてみようと思います。ご助力いただきありがとうございました。