基础知识:表达式
1、什么是表达式
与JS表达式一样,花漾RPA中的表达式是指:值(或称直接量)、变量和运算符的组合,其计算结果是值。在JavaScript中,表达式有很多种, 如算术表达式、字符串表达式、属性访问表达式、函数定义表达式等等,关于这方面的介绍,可以参考JS的一些教程文章。 本文并不想成为另一本JS书籍,故忽略这些过于专业化的术语。 为方便读者理解,笔者为各位同学准备了下述示例,通过观察这些示例,即可了解何为表达式:
//算术表达式,其值为3
1 + 2
//字符串表达式,其值为 Hua Young
"Hua" + " " + "Young"
//表达式可以包含变量,如 x 值为 6,下述表达式的值为 16
x + 10
//表达式可以包含对象属性的访问,如当前访问账号的名称为 myebay,下述表达式的值为 Helllo myebay
"Hello " + account.name
如果有需要,您还可以编写一个函数定义表达式,如下示例,add(x, y)是我们定义的一个函数,而 add(1,2)的返回值值为 3 :
function add(x, y) {
return x + y;
}
add(1, 2);
2、在花漾RPA Editor中使用表达式
在花漾RPA Editor中,几乎每一个 Edit 框都具备两种输入模式,分别是“文本输入模式”与“表达式输入模式”,这两者之间通过左侧JS图标的点击进行切换:

《花漾RPA Editor中Edit框的两种输入模式》
下面做一个示例,我们编写一个非常简单的流程定义,在此流程中通过浏览器访问 cn.bing.com, 然后我们将 bing 首页的 search 框作为我们输出表达式内容的载体:

《通过花漾RPA操纵浏览器访问cn.bing.com》
该流程的第一个节点是“访问网址”,第二个节点是“输入内容”,在此流程节点中,页面节点定位到 Search 框 (这方面的内容已经超出了本文的内容,暂且忽略,后文会有叙及), 在输入值 Edit 框里输入表达式,这里需要提醒您的是,为了在这里输入表达式,一定记得要把JS图标点亮:

《花漾RPA中Edit框的两种输入状态》
我们输入表达式 1 + 2,然后点工具栏上的“运行预览”,可以看到,此时,在 search 框显示该表达式的值为“3”:

《表达式 1+2 的值》
我们再次输入表达式 "花漾" + "浏览器",点击“运行预览”,可以看到,在 search 框显示该表达式的值为“花漾浏览器”。 这里需要提醒您的是,在表达式中引用字符串,需要对字符串加上双引号予以标注。

《表达式 "花漾" + "浏览器" 的值》
我们还可以在表达式中定义并调用一个函数,如下图所示,点击“运行预览”,可以看到,在 search 框显示该表达式的值为“16”:

《函数表达式的值》
3、在花漾RPA Editor中使用文本输入模式
下面我们再来看一下在 RPA Editor 中如何使用文本输入模式。
文本输入模式中,在 Edit 框里输入的所有内容默认全部当做文本处理,如下图所示。 尽管我们输入的是 1 + 2,但由于此时是文本模式,花漾RPA会把所有的输入内容全部当作普通文本,因此,输出的结果也是:1 + 2

《文本输入模式》
文本输入模式中如果要输入字符串,并不需要对此字符串加上双引号,直接输入文本内容即可:

《文本输入模式中输入文本》
在文本输入模式下,如果要引用变量的值,需要加大括号“{}”予以标注,且只支持对象属性访问操作符“.”。 举例,我们希望获得当前流程定义的名称(该流程定义的名称为“表达式Demo”),在全局变量有一个 {flow.name},那么我们可以在文本输入模式下输入: 当前流程的名称:{flow.name},显示的值为:当前流程的名称:表达式,如下图所示:

《在文本模式下引用变量》
4、总结
本文我们了解了什么是表达式,以及在花漾RPA Editor中如何使用表达式:
- 花漾RPA Editor中几乎每一个 Edit 框都具备两种输入模式,分别是“表达式输入模式”与“文本输入模式”,这两者之间通过点击左侧JS图标进行切换
- 表达式输入模式下,在 Edit 框中输入表达式,得到的结果是表达式的值
- 文本输入模式下,在 Edit 框中输入的是文本,但可以通过{}引用变量