如何检测GUI元素是否存在?

2020-09-04 00:49发布

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

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


我很难确定GUI元素是否存在。 我是VB和SAP GUI脚本开发的新手,所以我希望它不简单。

我正在尝试确定屏幕上是否存在GUITableControl。 我正在使用以下代码。 table_found总是设置为" true"。

任何您能分享的,朝着正确方向提出的建议,将不胜感激。

谢谢!

将SAPGuiAuto视作对象
 昏暗的SAPApp作为对象
 昏暗的SAPCon作为对象
 昏暗会话作为对象
 昏暗表作为对象
 昏暗table_found为布尔值
 以对象为暗


 SAPGuiAuto = Microsoft.VisualBasic.Interaction.GetObject(" SAPGUI")
 SAPApp = SAPGuiAuto.GetScriptingEngine
 SAPCon = SAPApp.Children(0)
 会话= SAPCon.Children(0)


 关于错误继续
 session.findById("/img/app/con [0]/ses [0]/wnd [0]/usr/tabsUD_DATA/tabpPLMK/ssubSUB_UD_DATA:SAPMQEVA:0101/tblSAPMQEVAMERKMALE")
 如果err.Number = 0则
     table_found = true
 其他
     table_found =否
 万一
 错误时转到0


 tblFound = table_found

 

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

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


我很难确定GUI元素是否存在。 我是VB和SAP GUI脚本开发的新手,所以我希望它不简单。

我正在尝试确定屏幕上是否存在GUITableControl。 我正在使用以下代码。 table_found总是设置为" true"。

任何您能分享的,朝着正确方向提出的建议,将不胜感激。

谢谢!

将SAPGuiAuto视作对象
 昏暗的SAPApp作为对象
 昏暗的SAPCon作为对象
 昏暗会话作为对象
 昏暗表作为对象
 昏暗table_found为布尔值
 以对象为暗


 SAPGuiAuto = Microsoft.VisualBasic.Interaction.GetObject(" SAPGUI")
 SAPApp = SAPGuiAuto.GetScriptingEngine
 SAPCon = SAPApp.Children(0)
 会话= SAPCon.Children(0)


 关于错误继续
 session.findById("/img/app/con [0]/ses [0]/wnd [0]/usr/tabsUD_DATA/tabpPLMK/ssubSUB_UD_DATA:SAPMQEVA:0101/tblSAPMQEVAMERKMALE")
 如果err.Number = 0则
     table_found = true
 其他
     table_found =否
 万一
 错误时转到0


 tblFound = table_found

 
付费偷看设置
发送
1条回答
N-Moskvin
1楼-- · 2020-09-04 01:22
" ###捕获不存在的元素###
     如果不是session.findById(" wnd [1]/usr/btnBUTTON_2",False)则为空
         session.findById(" wnd [1]/usr/btnBUTTON_2")。按
     万一
 

我使用这种模式执行需要存在性检查的条件逻辑。

使用大多数屏幕元素替换session.findById(" wnd [1]/usr/btnBUTTON_2"

您的情况可能是:

" ###捕获不存在的元素###
     如果不是session.findById("/img/app/con [0]/ses [0]/wnd [0]/usr/tabsUD_DATA/tabpPLMK/ssubSUB_UD_DATA:SAPMQEVA:0101/tblSAPMQEVAMERKMALE",否)
         table_found = true
     其他:
         table_found =否
     万一
 

或者您可以只在if then块内执行真实逻辑,然后跳过else。

一周热门 更多>