使用Blueprism实现SAP GUI自动化.文本框id经常更改.所以无法窥探文本框



我正在尝试使用Blueprism自动化其中一个SAP GUI屏幕。文本框的Id经常更改。所以无法窥探文本框。

我已经发现了使用SAP模式的元素。由于文本框的ID正在动态更改(大约6小时(,Blue Prism无法识别元素,因此该过程失败。

ID为:CCD_ 1。

在这里,值T000KW将频繁地变化。有谁能帮我处理这个问题吗?

tl;dr:您可能应该获取正在更改的GuiComponent的ID并使用它。在最坏的情况下,您可以检测GuiComponent的父级并列出其子级的ID。

有几种方法,其中一些可能最终奏效:

  1. 在Application Modeller中进行监视时,属性的匹配模式默认设置为Equal。有时放松匹配条件会有所帮助。

    1. 尝试使用通配符进行匹配,例如wnd[0]/usr/subSUB_MAIN:/COCKPIT/SAPLDISPLAY46:0385/subSUB_HDR:/COCKPIT/SAPLDISPLAY46:0405/tabsG_STRIP_HDR/tabpTAB5/ssubSUB:/COCKPIT/SAPLDISPLAY46:0436/ssubSUB_OTHERS:%_*:0200/ctxt/COCKPIT/SHDR_DISP-RPA
    2. 与Regex:wnd[0]/usr/subSUB_MAIN:/COCKPIT/SAPLDISPLAY46:0385/subSUB_HDR:/COCKPIT/SAPLDISPLAY46:0405/tabsG_STRIP_HDR/tabpTAB5/ssubSUB:/COCKPIT/SAPLDISPLAY46:0436/ssubSUB_OTHERS:%_.*:0200/ctxt/COCKPIT/SHDR_DISP-RPA相同
    3. 您可以获得wnd[0]/usr/subSUB_MAIN:/COCKPIT/SAPLDISPLAY46:0385/subSUB_HDR:/COCKPIT/SAPLDISPLAY46:0405/tabsG_STRIP_HDR/tabpTAB5/ssubSUB:/COCKPIT/SAPLDISPLAY46:0436/组件的子级列表(当然有一个Code阶段,但甚至可能有一个Read阶段(,从而检测到变化的部分。有了这些信息,您可以为元素设置动态匹配模式,在该模式中,您将根据这些信息计算ID
  2. 使用代码阶段与SAP交互(这是我通常做的(,而不是应用程序模型。在那里,您可以通过获取不变元素的直接子元素并计算元素的ID来模拟上述(1.3.(方法。SAP GUI对象模型的文档非常好。有一次我遇到了和你完全相同的问题,这就是我真正解决它的方式

请注意,我在家里写这个答案,目前没有访问Blue Prism。或SAP。

在这种情况下,我可能会尝试使用不同的间谍模式。你试过在这里用它吗?

另一种解决方案是使用SAP API和Bálint ErdŞsi建议的代码阶段。

最新更新