浏览器分身策略

1、前言

花漾灵动PRA的一个核心特性是:能够同时对 多个浏览器分身 执行拟人化操作。针对“拟对哪些浏览器分身执行流程”,我们有两种方法,分别是: 手动添加分身动态添加分身,可以在流程属性的 “分身策略” 中予以设置,如下图所示:

   

《分身执行策略》

  • 手动添加分身:在执行流程任务(或创建流程计划)时,用户需要手动指定浏览器分身列表,但在初始子流程中可以忽略某些分身的执行
  • 动态添加分身:在执行流程任务(或创建流程计划)时,用户无需指定任何浏览器分身,但在初始子流程中可以动态添加某些分身,前提是需要对添加的分身拥有权限(团队的超管与BOSS默认拥有对当前团队所有浏览器分身的权限,否则需要明确授权,更进一步信息请阅读 授权一文)

2、初始子流程与清理子流程

针对任何一个流程任务,RPA引擎的执行顺序为:

  1. 首先执行初始子流程(如果有的话),且只执行一遍
  2. 然后针对每个浏览器分身,分别执行一遍完整的主流程
  3. 当所有浏览器分身的主流程全部执行完毕后,开始执行清理子流程(如果有的话),且只执行一遍
   

《分身执行策略》

综上,针对初始子流程和清理子流程的特性,我们往往将初始子流程用来进行初始化的目的,如拟对哪些浏览器分身执行流程或者拟忽略哪些浏览器分身等; 而将清理子流程用于在流程执行结尾进行收工清理的场景,如生成流程报表等。

3、添加分身与忽略分身

花漾RPA为您提供了两个流程节点,分别是 “添加分身”“忽略分身”

   

《添加分身与忽略分身》

  • 添加分身:当流程属性的分身策略为“动态添加分身”时,可以通过此节点动态添加拟执行流程的浏览器分身,此节点仅适用于“初始子流程”
  • 忽略分身:当流程属性的分身策略为“手动添加分身”时,可以通过此节点忽略已经添加的浏览器分身使其不再执行流程,此节点仅适用于“初始子流程”

这两个节点相对应的脚本为:

rpa.items.addItem(by: 'name' | 'id' = 'name', items: string)

rpa.items.ignoreItem(by: 'name' | 'id' | 'index' = 'name', items: string)

4、在初始子流程中获取输入参数

如前文所述,输入变量 用来在流程执行前要求用户给予明确的赋值用以增强流程的弹性,显然,我们需要在初始子流程中能够获取到输入变量的值。 这里又分两种情况:

  1. 针对“手动添加分身”的流程,我们需要获取每个分身的输入变量(因为很可能每个分身拥有不同的输入变量)
  2. 针对“动态添加分身”的流程,我们需要获取一份输入变量(因为无论在初始子流程中添加多少分身,但输入变量只有一份)

针对上述场景,花漾RPA允许在初始子流程里以 _rpa_accountParams 来获取流程输入变量(只限输入变量)。 针对“手动添加分身”的情况,该变量的数据结构为:

_rpa_accountParams = {
  [accountId]: {
    input_param1: value1, 
    ....
  },
  [accountId]: ...
}

当流程为“动态添加分身”时,所有的分身共用以下输入变量:

_rpa_accountParams = {
  input_param1: value1, 
  ...
}

5、默认打开分身

分身策略中还有一个属性:“默认打开分身”,默认值为开启。该属性的含义是指:当执行到某个分身的主流程时,是否打开此浏览器分身所对应的浏览器窗口。

   

《流程属性之默认打开分身》

此属性试图解决的场景是:在执行某个分身的主流程时,我们可以事先做各种条件的判断以决定是否要打浏览器,毕竟打开浏览器是一个相对耗时的操作, 如果前期判断根本不需要打开浏览器可以大大加速流程的执行速度。与此相应的是,花漾为您提供了“打开分身”与“关闭分身”两个流程节点:

   

《打开分身/关闭分身的流程节点》

6、示例:动态指定浏览器分身

在前期的帮助指引中,我们都是设置流程为“手动添加浏览器分身”,这意味着当执行流程任务或者创建流程计划时,用户需要在向导中手动添加浏览器分身。 本示例向大家介绍如何动态指定浏览器分身。

我们假定有一个 Excel 表格,在该表格中列出了拟执行流程的浏览器分身列表名称,如下图所示:

   

《通过Excel指定拟执行流程的浏览器分身》

针对上述示例,首先,我们需要在流程属性中设置分身策略为“动态添加分身”,然后在浏览定义中创建一个初始子流程,其流程内容如下图所示:

   

《初始子流程的内容》

针对上述“初始子流程”,大概的讲解如下:

  1. 打开 Excel 文件
  2. 循环 Excel 所有的数据内容
  3. 判断当前是不是第一行
  4. 如果是第一行(意味着是表头),则忽略且继续下一次循环
  5. 如果不是第一行(意味着是一个分身名称),则打印日志,输出分身名称
  6. 同时,动态添加浏览器分身来执行流程

最后,我们发布并执行此流程,在执行向导中可以看到:针对分身策略设置为“动态添加分身”的流程,无法在执行向导中手动指定浏览器分身:

   

《执行向导》

最后,流程任务的详情如下图所示,可以看到,该流程动态添加了 Excel 中指定的浏览器分身来执行流程:

   

《流程任务的详情页面》

7、总结

  1. 针对“拟对哪些浏览器分身执行流程”,我们可以在流程属性的“分身策略”中指定:手动添加分身 或者 动态添加分身
  2. 手动添加分身:在执行流程任务(或创建流程计划)时,用户需要手动指定浏览器分身列表,但在初始子流程中可以通过“忽略分身”的流程节点,用来忽略某些分身的执行
  3. 动态添加分身:在执行流程任务(或创建流程计划)时,用户无需指定任何浏览器分身,但在初始子流程中可以通过“添加分身”的流程节点,用来动态添加某些分身执行流程
最后更新于 2023-09-09 09:16
回到顶部