用户和某些 actions 创建用户定义的变量以临时保存值。 使用此类变量可将值输入到操作(窗口标题、登录凭据或文件路径)中,或接受操作的输出(从文件读取的值或布尔值返回)。

建立自动化任务时,有些 actions 需要引用和使用一些值,这些值可以存储在变量中。 从检索在线数据到在应用程序(例如 Microsoft Excel)之间传输数据,变量可在多个方面为您提供帮助。 变量可以包含一个或多个值。 变量可以包含的值和可以对变量执行的操作由其数据类型决定。
注:
  • bot 最多可以向输出变量返回 3 MB。 此外,BotOutputVariable 中的表结构限制为 300,000 个单元格。

    如果您插入超过 300,000 个单元格,将显示一条错误消息,指示 debug 变量太大无法调试或 BotOutputVariable 太大无法处理。

    解决方法: 将 bot 输出存储在设备上,例如 .txt 文件中。 如果必须跨多个 Bot Runners 共享输出,请将输出存储在共享驱动器中。

  • 机器人输入变量的大小限制为 1900000 字节。 我们建议您使用 .txt 文件来存储大型数据集。

变量类型

变量的数据类型是一种属性,它决定了变量中存储的值可以有什么种类的数据。 数据类型包括存储分类,如整数、字符串和字符。 如字典、记录、列表或表等变量可以包含多种数据类型。

大多数变量类型都有具有相似名称的包,其中包含用于对变量中存储的值执行操作的操作。 例如,使用 String package 中的 actions 处理字符串变量。 同样,要处理数字变量,请使用 Number package 中的 actions。 要将一种变量类型的值转换为另一种,请参阅 类型转换

您还可以在 bots 之间重复使用相同的值,而不是为每个 bot 创建新变量。 请参阅 全局值

变量名称

变量名称最多可以包含 50 个 Unicode 字符,包括数字 (0-9)、拉丁字母(A-Z、a-z)和特殊字符(- 和 _)。可以在变量名称中使用双字节字符,例如中文、日文或韩文字符。变量中支持的 Unicode 范围

我们建议对变量名称使用驼峰大小写,并在变量名称前加上前缀以表示范围和数据类型。 例如,iFileEmailAttachment 表示用于提供输入的文件类型变量。
注: 以下是推荐的变量命名标准 <type/scope indicator><data type><Variable name>。 虽然有许多命名约定选项,但必须在组织内采用某些标准并始终如一地使用。

<type/scope indicator> 是一个字符,如下所示:

  • p = 本地变量(既不是输入也不是输出)
  • i = 输入变量
  • o = 输出变量
  • io = 输入和输出变量
  • c = 常数
下面是一些命名变量的示例。
  • iStrAuditLogPath:从调用任务中收到的字符串类型变量
  • oNumReturnValue:返回给调用任务的数字类型变量
  • ioStrStatus:既从调用任务接收也返回给调用任务的字符串
  • cStrNull:不保留任何值的字符串;例如,在字符串比较中对检查一个值是否存在很有用

有关范围的详细信息,请参阅 Task Bot package。 此标准使您能够按类型搜索变量。 例如,oStr 返回用于保留输出字符串值的变量。

变量类型

变量类型和建议名称 描述 使用示例
Any

Any

存储布尔值、数据表、日期时间、文件、数字、记录、字符串或窗口数据类型。 如果您不确定 action 会输出哪种数据类型,请使用此变量类型。 使用运行 action 的示例
布尔值

Bool

存储 True 或 False 值。
凭据

Cred

安全地存储字符串值,防止值显示在消息框中或写入文件。 该值是从 Credential Vault 中选择的,或由用户提供。

Bot editor 中的凭据和凭据变量

日期时间

日期

存储包含单个日期和时间值的值。 您可以通过选择预定义格式或指定自定义格式来格式化值。

日期时间格式

字典

Dict

以键值对的形式存储数据。 该值可以是布尔值、数字或字符串。

字典 package

文件

File

存储文件路径。

使用文件变量的示例

表单

Form

存储输入到交互式表单字段中的值。

交互式表单

列表

列表

存储一系列布尔值、数字或字符串值。

List package

数字

Num

存储数值,包括整数和小数。 它包含从 -9,223,372,036,854,775,808 至 9,223,372,036,854,775,807 的值以及最多 15 位小数的值。

您可以将随机生成的值分配给此变量。

随机数值 action

将值转换为字符串时,您可以删除小数点后的数字。

数字到字符串操作

记录

Rec

存储从表中提取的一行值。 该值可以是布尔值、日期时间、数字或字符串。

记录变量

从电子表格将数据输入 web 表单的示例
会话

Sess

存储来自 Excel basicExcel advancedTerminal Emulator packages 的会话名称。 在任务机器人 > 运行 action 中将此变量从父级传递给子级 bot,以使子级 bot 能够处理父级 bot 中已打开文件的数据。
注: 在子级 bot 中初始化此变量时,选择用作输入
在 bots 之间共享 Excel 会话的示例
字符串

Str

存储字母数字和特殊字符以及空值。 最多可容纳 65535 UTF-8 字符。 字符串变量可包含多行文本。 您可以将字符串变量中的值与空字符串变量进行比较。

使用条件语句的示例

将多个值存储在行和列的表中。 该值可以是布尔值、日期时间、数字或字符串。 通过从 CSV/TXT 文件Excel 文件网页表单中提取值,为表变量分配值。
窗口

Win

存储窗口标题和 URL。

创建窗口类型变量时,请注意,如果选择浏览器作为默认值,则仅支持 Google Chrome 选项卡,而选择应用程序作为默认值,则支持任何应用程序窗口。

某些 actions,例如捕获 action,创建一个窗口变量以存储指定的窗口标题和 URL。

从网页表格中提取数据的示例

窗口变量的行为方式

当您使用 Recorder 来自动化特定窗口(例如窗口 1),对窗口执行单击 action,并运行 bot 时,bot 会首次搜索该特定窗口,并为其分配一个窗口句柄以供识别,同时将其保存在缓存中。 当您在同一个窗口 1 上执行第二个单击 action 时,bot 会验证窗口 1 是否可用。 如果窗口 1 可用,那么 bot 就不再需要搜索特定窗口,因为该窗口已存储在缓存中,并会自动从缓存中获取。 这提高了 bot 的性能,并节省了时间,因为如果窗口已经可用,bot 就不必在每个实例中搜索窗口。

假设您现在在同一个窗口 1 上执行第三个单击 action,这将打开另一个页面,因此窗口标题现在已更改。 例如,您打开一个 Yahoo India 网页,并在网页上的新闻选项上执行单击 action 操作,action 会将您导航到另一个页面,该页面会更改窗口的标题。

因此,在这种情况下,当您运行 bot 时,bot 仍然获取存储在缓存中的相同窗口,并在其上执行 action,因为窗口仍然相同,只是标题已更改。 因此,这种行为提供了良好的用户体验,并且在自动化网页时,您可以避免为每个标题更改的窗口创建多个窗口变量。

删除变量

可以通过以下任一方式删除用户创建的变量:
  • 删除一个变量:变量面板上,单击变量名称右侧的垂直省略号,然后单击删除变量
  • 删除未使用的变量:变量面板中,单击删除未使用的变量,选择要删除的变量,然后单击删除