regex 在Blue Prism Application Modeler中使用正则表达式

c9qzyr3d  于 2023-06-30  发布在  其他
关注(0)|答案(1)|浏览(111)

我正在使用Blue Prism 5在SAP GUI中自动化一项任务。我发现,在视觉上相同的控制屏幕上的间谍与不同的ID之一。查看这些ID让我怀疑SAP客户端实际上在此时显示不同的字段,但对于我的任务来说,这在逻辑上是等效的。
这方面的一个例子是这三个ID,它们都是从显示城市名称的对话框中的同一个地方监视到的,但用于不同的人的地址:

/app/con[0]/ses[0]/wnd[0]/usr/subSCREEN_3000_RESIZING_AREA:SAPLBUS_LOCATOR:2036/subSCREEN_1010_RIGHT_AREA:SAPLBUPA_DIALOG_JOEL:1000/ssubSCREEN_1000_WORKAREA_AREA:SAPLBUPA_DIALOG_JOEL:1100/ssubSCREEN_1100_MAIN_AREA:SAPLBUPA_DIALOG_JOEL:1101/tabsGS_SCREEN_1100_TABSTRIP/tabpSCREEN_1100_TAB_01/ssubSCREEN_1100_TABSTRIP_AREA:SAPLBUSS:0028/ssubGENSUB:SAPLBUSS:7016/subA05P01:SAPLBUA0:0400/subADDRESS:SAPLSZA7:0600/subCOUNTRY_SCREEN:SAPLSZA7:0601/ctxtADDR2_DATA-CITY1
/app/con[0]/ses[0]/wnd[0]/usr/subSCREEN_3000_RESIZING_AREA:SAPLBUS_LOCATOR:2036/subSCREEN_1010_RIGHT_AREA:SAPLBUPA_DIALOG_JOEL:1000/ssubSCREEN_1000_WORKAREA_AREA:SAPLBUPA_DIALOG_JOEL:1100/ssubSCREEN_1100_MAIN_AREA:SAPLBUPA_DIALOG_JOEL:1101/tabsGS_SCREEN_1100_TABSTRIP/tabpSCREEN_1100_TAB_01/ssubSCREEN_1100_TABSTRIP_AREA:SAPLBUSS:0028/ssubGENSUB:SAPLBUSS:7016/subA05P01:SAPLBUA0:0400/subADDRESS:SAPLSZA7:0600/subCOUNTRY_SCREEN:SAPLSZA7:0601/txtADDR2_DATA-CITY1
/app/con[0]/ses[0]/wnd[0]/usr/subSCREEN_3000_RESIZING_AREA:SAPLBUS_LOCATOR:2036/subSCREEN_1010_RIGHT_AREA:SAPLBUPA_DIALOG_JOEL:1000/ssubSCREEN_1000_WORKAREA_AREA:SAPLBUPA_DIALOG_JOEL:1100/ssubSCREEN_1100_MAIN_AREA:SAPLBUPA_DIALOG_JOEL:1101/tabsGS_SCREEN_1100_TABSTRIP/tabpSCREEN_1100_TAB_01/ssubSCREEN_1100_TABSTRIP_AREA:SAPLBUSS:0028/ssubGENSUB:SAPLBUSS:7016/subA05P01:SAPLBUA0:0400/subADDRESS:SAPLSZA1:0300/subCOUNTRY_SCREEN:SAPLSZA1:0301/ctxtADDR1_DATA-CITY1

正如你所看到的,它们大部分是相同的,只有在接近尾声时才有不同。
我认为这是在Blue Prism Application Modeler中使用正则表达式的一个机会。所以我试着把它配置成这样。结果如下图所示:

我显然尝试了几种RegExpr的风格和表达式的变体,但我无法让它找到那个控件。
有人能告诉我我做错了什么吗?是表达式语法的问题,还是我完全误解了这里的RegExpr特性?
我的解决方法是分别监视每个变体,并有一个等待阶段来查找所有变体。
感谢您的阅读,我会很感激任何关于这方面的建议。

xzv2uavs

xzv2uavs1#

据我所知,regex模式在SAP中不起作用。
我相信你的解决方法是正确的,这是我在这种情况下建议的。
另一种方法是使用编码阶段连接到SAP API,但这是一个复杂的问题。

相关问题