SAP irpa在iframe上等待不起作用

2020-08-16 08:33发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好社区,

我是IRPA的新手,并通过做一些有趣的事情来学习它。 现在我面临一个奇怪的问题。让我解释一下我要做什么。

我的想法是打开社区活动页面" https://activities.sap.com /"并执行 登录名。 我能够打开它,单击login(icon),然后使用rpa bot打开一个弹出窗口。 但是之后,bot无法识别登录页面。

我认为弹出窗口是iframe,我发现当我尝试捕获此页面,然后Studio用它的树显示了它的树,其中包含主页,在登录页面下以及从主页访问时,我无法访问电子邮件 和密码(表明这是一个iframe)捕获了内部框架,但是为此,URL不同,它将是帐户。 sap.com ,但如果您看到网络浏览器网址,则该网址仍为 activities.sap.com

所以我在登录页面的等待事件中放置了一个断点,但是它永远不会出现。

还有其他人遇到这个奇怪的问题吗? 还是我对此的理解不正确?

login-popup.jpg (32.2 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好社区,

我是IRPA的新手,并通过做一些有趣的事情来学习它。 现在我面临一个奇怪的问题。让我解释一下我要做什么。

我的想法是打开社区活动页面" https://activities.sap.com /"并执行 登录名。 我能够打开它,单击login(icon),然后使用rpa bot打开一个弹出窗口。 但是之后,bot无法识别登录页面。

我认为弹出窗口是iframe,我发现当我尝试捕获此页面,然后Studio用它的树显示了它的树,其中包含主页,在登录页面下以及从主页访问时,我无法访问电子邮件 和密码(表明这是一个iframe)捕获了内部框架,但是为此,URL不同,它将是帐户。 sap.com ,但如果您看到网络浏览器网址,则该网址仍为 activities.sap.com

所以我在登录页面的等待事件中放置了一个断点,但是它永远不会出现。

还有其他人遇到这个奇怪的问题吗? 还是我对此的理解不正确?

login-popup.jpg (32.2 kB)
付费偷看设置
发送
1条回答
haha101010
1楼 · 2020-08-16 09:33.采纳回答

嗨,Mahesh,

是的,它无法识别 accounts.sap.com SSO登录页面(不知道为什么) )。 因此,我尝试了一种解决方法。

我没有声明直接登录"活动",而是登录了 accounts.sap.com ,然后打开活动页面作为新应用程序。 当我已经登录时,它将直接打开我的活动页面。

下面是生成的代码。

//---------------------------------------------  -------------------
//场景newWorkflow的测试菜单
//------------------------------------------------  ----------------
 GLOBAL.events.START.on(function(ev){
 如果(ctx.options.isDebug){
//在系统托盘菜单中添加项目。
 systray.addMenu('','newWorkflow','Test newWorkflow','',函数(ev){
 var rootData = ctx.dataManagers.rootData.create();

//在这里初始化您的数据。
 GLOBAL.scenarios.newWorkflow.start(rootData);
 });
 }
 });
//------------------------------------------------  ---
//场景newWorkflow Starter()
//------------------------------------------------  ---
//------------------------------------------------  ----------------
//场景:newWorkflow
//------------------------------------------------  ----------------
 GLOBAL.scenario({newWorkflow:function(ev,sc){
 var rootData = sc.data;
 sc.setMode(e.scenario.mode.clearIfRunning);
 sc.setScenarioTimeout(600000); //全局方案的默认超时。
 sc.onError(function(sc,st,ex){sc.endScenario();}); //默认错误处理程序。
 sc.onTimeout(30000,function(sc,st){sc.endScenario();}); //每个步骤的默认超时处理程序。
 sc.step(GLOBAL.steps.Start_SAPIDServiceLo,GLOBAL.steps.pSAPIDServiceLogO_man);
 sc.step(GLOBAL.steps.pSAPIDServiceLogO_man,GLOBAL.steps.Start_SAPActivitiesT);
 sc.step(GLOBAL.steps.Start_SAPActivitiesT,null);
 }},ctx.dataManagers.rootData).setId('1c87a18f-1adc-4720-a144-e98c11d94895');
//------------------------------------------------  ----------------
//步骤:Start_SAPIDServiceLo
//------------------------------------------------  ----------------
 GLOBAL.step({Start_SAPIDServiceLo:function(ev,sc,st){
 var rootData = sc.data;
 ctx.workflow('newWorkflow','48cf3cb3-e290-4ca0-a8ab-b66774647b1e');
//开始'SAPIDServiceLogO'
 SAPIDServiceLogO.start();
 sc.endStep(); //pSAPIDServiceLogO_man
 返回;
 }});
//------------------------------------------------  ----------------
//步骤:pSAPIDServiceLogO_man
//------------------------------------------------  ----------------
 GLOBAL.step({pSAPIDServiceLogO_man:function(ev,sc,st){
 var rootData = sc.data;
 ctx.workflow('newWorkflow','bf105aec-cbab-4c6e-a738-93219ab388f9');
//等待页面加载
 SAPIDServiceLogO.pSAPIDServiceLogO.wait(function(ev){
 SAPIDServiceLogO.pSAPIDServiceLogO.oJ_username.set('p376567');
 SAPIDServiceLogO.pSAPIDServiceLogO.oJ_password.set('scn @ 0pen');
 SAPIDServiceLogO.pSAPIDServiceLogO.btLogOnFormSubmit.click();
 sc.endStep(); //Start_SAPActivitiesT
 返回;
 });
 }});
//------------------------------------------------  ----------------
//步骤:Start_SAPActivitiesT
//------------------------------------------------  ----------------
 GLOBAL.step({Start_SAPActivitiesT:function(ev,sc,st){
 var rootData = sc.data;
 ctx.workflow('newWorkflow','07f5a9cc-06a2-4525-bae5-680fea1fc34f');
//启动" SAPActivitiesThe"
 SAPActivitiesThe.navigator = e.navigator.Chrome
 SAPActivitiesThe.start();
 sc.endStep(); //结束场景
 返回;
 }});
 

一周热门 更多>