代码之家  ›  专栏  ›  技术社区  ›  MUlferts

当没有特定ID时,UIPath选择器如何工作

  •  1
  • MUlferts  · 技术社区  · 7 年前

    我正在尝试创建一个UIPath项目,以便在Microsoft Dynamics Web Client 2016中自动填写一个简单表单。由于我认为不可靠的选择器,我一直遇到奇怪行为的问题。Dynamics web客户端是用Angular编写的,似乎是一个单页应用程序。据我所知,没有一个输入具有UIPath可以用作选择器的任何类型的ID或特定数据属性。看起来程序正在使用DOM树计算嵌套div的数量,以便为每个输入分配一个“parentId”属性。当有弹出窗口时,这似乎会导致不可靠的行为,我担心这个特定web应用程序的自动化将无法扩展。

    选择器示例:

    <html title="Microsoft Dynamics GP" />
    <webctrl parentid='a000000000000000056800083584c00030100000000f1550000000000'
    tag='INPUT' />
    

    此选择器和parentId属性来自何处?通过更新和表单更改,它是否可靠且可扩展?

    Example of selector

    1 回复  |  直到 7 年前
        1
  •  3
  •   Wolfgang Radl    7 年前

    input http://www.rpachallenge.com/ 无法可靠地找到,因为他们的id每隔几分钟就会更改一次。因此,如果您需要在“公司名称”字段中键入文本,我们需要使用锚定-在我们的情况下,将始终有一个带有独特文本的标签。

    relative selector with anchor

    Anchor Base 连同 Find Element 活动(加上所需的操作)。以下是锚定的选择器-使用元素的描述性文本:

    <webctrl aaname='Company Name' tag='LABEL' />
    

    Type Into 活动只是指一个 Input 要素:

    <webctrl tag='INPUT' />
    

    唯一要记住的是多语言,在这种情况下,你需要在选择器中考虑它们,或者如果可以的话,用ID选择元素。

    推荐文章