If package

使用 If package 中的 actions,根据任务的一个或多个条件控制执行顺序。

在执行一组 actions 之前,您可以使用 If package 中的 actions,检查应用程序是否正在运行、文件夹或文件是否存在、变量与指定值是否匹配、应用程序窗口是否存在或者计算机或服务器是否正在运行。

If package 中的 Actions

If package 包括以下 actions

Action 描述
If 请参阅 If action
Else if(可选) 请参阅 Else if(可选)action
Else 请参阅 Else action

最佳实践

在使用 If package 时,请遵循以下最佳实践:
  • 确保 If 语句中指定的条件明确且精确。 这有助于避免意外行为。
  • 使用 ElseElse If actions 来处理其他条件。 这确保了所有可能的情况都得到了涵盖。
  • 避免深度嵌套 If 语句,因为这会使逻辑变得复杂且难以维护。 考虑使用逻辑运算符 (AND, OR) 在可能的情况下组合条件。
  • 首先添加最可能的条件以优化性能。 这样,bot 可以快速评估最可能的情况,并在不进行不必要检查的情况下继续进行。
  • 使用变量来存储复杂条件或计算的结果。 这使得 if 语句更简洁、更易读。
  • If 块中实现适当的错误处理,以管理在条件执行期间可能发生的任何错误。
  • 使用各种数据集测试 If 条件,以确保它们在不同情况下按预期运行。
  • 尽可能使用布尔变量来简化条件。 这可以使 if 语句更易读且更易于管理。
  • 确保这些条件不冗余且不重叠。 这有助于保持 bot 中所使用逻辑的效率和清晰性。

If action 中的条件

使用 If action中的以下条件控制自动化任务中的执行流程:

注: 您可以在单个 If action 中最多添加 32 个条件。
条件 描述
应用程序 根据应用程序是否正在运行,使用应用程序正在运行应用程序未运行条件运行 actions

输入应用程序路径或使用变量指定路径,并输入等待此条件成立的时间(以秒为单位)。

注: 应用程序正在运行应用程序未运行的条件不适用于 Internet Explorer bots,因为其对应的进程 iexplore.exeMicrosoft EdgeIE 模式启动时在后台运行。
布尔值 根据布尔变量包含的值是 True 还是 False,使用布尔变量条件执行 actions

您还可使用此条件,通过在插入变量窗口中选择第二个变量来比较两个布尔变量的值。

数据表 根据指定的表是否包含值,使用数据表为空条件执行 actions

根据列数或行数等于大于还是小于指定值,使用行数列数条件执行 actions

日期时间 根据源日期时间变量的值等于不等于大于等于还是小于等于目标日期时间变量的值,使用日期时间变量条件执行 actions
字典 根据指定键的值是等于不等于还是包含不包含目标值,使用检查键条件执行 actions
注: 键比较区分大小写。

根据特定键是否包含目标值,使用检查单个值条件执行 actions

DLL 根据 DLL 会话是否打开或关闭,使用 DLL 会话存在DLL 会话不存在条件在 bot 中执行 actions
文件 使用以下条件执行 action
  • 文件日期

    使用此条件验证文件的创建或修改日期和时间。 使用在某个日期过去天数内介于之前选项指定日期或日期范围。 对于在某个日期选项,指定一个日期以验证文件是否在该日期创建或修改。 对于过去天数内选项,指定天数或时间(以小时、分钟和秒为单位)。 输入等待此条件成立的时间(以秒为单位)。

  • 文件存在文件不存在

    使用这些条件可根据文件是否存在执行 action。 例如,如果某个数据文件存在,则设置文件格式并将其上传到数据库。

  • 文件扩展名
    使用此条件检查所选文件的文件扩展名,然后根据结果执行 actions
    1. 使用文件路径字段选择文件。
    2. 操作符字段中,选择以下选项之一以根据文件扩展名评估条件:
      • 在集合中: 此操作符用于验证所选文件的文件扩展名是否包含在预定义的扩展名集合中。 如果文件的扩展名与此集合中的任何扩展名相对应,则条件被视为真。 当您想在属于特定扩展名组的文件上执行 actions 时,此功能非常有用。
      • 不在集合中: 该操作符的作用与在集合中相反,它用于确定所选文件的文件扩展名是否被排除在指定的扩展名集合之外。 如果文件的扩展名与集合中的任何一个都不匹配,则该条件被视为真。 此功能可用于从 action 中排除某些文件类型。
  • 文件大小

    此条件可验证与指定的大小相比,指定文件的大小更大、更小、不同还是相同。

    输入等待此条件成立的时间(以秒为单位)。

文件夹 根据文件夹是否存在,使用文件夹存在文件夹不存在条件执行 action
图像识别 使用这些条件验证:
  • 是否在图像文件中找到图像文件
  • 是否在窗口中找到图像文件
  • 是否在图像文件中找到窗口
  • 是否在窗口中找到窗口
对于窗口条件,您可以使用重设窗口大小选项来指定窗口尺寸。 此选项可提供更可靠的 bot。 它根据记录任务的尺寸调整窗口的大小,这增强了机器人识别目标对象的能力。
注: 此选项仅适用于可以调整大小的窗口。 它不适用于 Desktop 或 Taskbar 选项。

对于窗口条件,您可以使用预览选项来选择捕获的特定事件,并将您的单击位置与图像相对应。

JavaScript 根据指定 JavaScript 的状态,使用脚本成功脚本未成功条件执行 actions。 选择包含脚本的文件,并可选择通过选择列表变量指定参数。
旧式自动化 旧式自动化条件仅在迁移的 bots 中使用,以确保它们在 Automation 360 中无缝运行。 我们推荐使用这些条件进行新 bot 开发。 下列条件用于验证:
  • Web 控件是否存在。
  • 窗口控件是否存在。
  • 窗口控件是否处于活动状态。
  • 脚本是否成功。
  • 子窗口是否存在。

对于窗口控件条件,您可以使用重设窗口大小选项指定窗口尺寸。 此选项可提供更可靠的 bot。 它根据记录任务的尺寸调整窗口的大小,这增强了机器人识别目标对象的能力。

列表 根据指定的列表变量是否包含特定值,使用列表变量条件执行 actions。 该值可以是数字字符串布尔值数据类型。
数字 根据指定的数字变量是等于不等于大于等于还是小于等于特定值,使用数字变量条件执行 actions
Ping 使用 Ping 成功Ping 未成功条件来验证计算机或服务器是否正在运行,并根据结果执行 action。 输入等待此条件成立的时间(以秒为单位)。
记录器
  • 使用对象存在条件检测窗口中的对象。 选择窗口或变量以捕获对象。
  • 使用对象不存在条件验证窗口中是否存在特定对象,然后根据结果执行 actions。例如,您可以使用循环 > While 条件内的对象不存在条件条件,来确保 bot 执行下一个 action,直到加载业务应用程序上的对象。
  • 设置系统超时字段中,选择基本高级
    • 基本: 在等待系统响应(以秒为单位)字段中,指定 bot 必须在应用程序窗口中等待对象控件出现的秒数。 此等待时间包括页面加载和对象搜索的等待时间。

      我们建议在使用“设置文本” action 向文本字段输入击键时设置延迟时间。

      注:bot 指定的超时时间仅在控件所在的窗口存在时适用于等待控件出现在应用程序窗口上。 Recorder 首先查找应用程序窗口,然后才在该窗口内搜索对象。 默认的窗口搜索时间为 30 秒。 因此,即使您将等待时间指定为 5 秒,如果窗口不存在,它仍会默认等待 30 秒。

      我们建议您首先使用 如果 > 窗口存在 条件,指定等待时间为零秒,并确保应用程序窗口存在。 如果窗口存在,则使用 Recorder,指定等待时间为 5 秒,并运行 bot 来检测对象。

    • 高级: 使用此选项可以自动化那些不断加载和更新最新数据的网站,例如股票网站。 这些网站在技术上从未完全加载到屏幕上。 在此类情况下,bot 无需等待网页完全加载,可以在一定时间后直接进行网页自动化操作。

      等待浏览器响应(以秒为单位) 字段中,指定 bot 必须等待浏览器加载的秒数。 选择以下选项之一:

      • 停止机器人并显示错误消息: 如果网页在指定的超时时间内未完全加载,请选择此选项以停止 bot 并显示错误消息。
      • 跳过并继续处理对象: 选择此选项以直接处理对象并捕获它,即使网页尚未完全加载。

      等待对象响应(以秒为单位)字段中,指定 bot 必须在应用程序窗口中等待对象控件出现的秒数。

注: 对象存在对象不存在录制器条件支持基于 Chromium 的 Microsoft EdgeInternet Explorer 模式。
服务 根据服务是否正在运行,使用服务正在运行服务未运行条件执行 actions。 选择服务列表,从可用服务列表中选择一项服务。
字符串 根据指定的源字符串值是等于不等于还是包括不包括目标值,使用字符串变量条件执行 actions

您可以选择区分大小写选项,仅在两个字符串包含匹配的大写字母和小写字母时执行 actions

从 Microsoft 应用程序提取文本时,提取的文本包含表示新行的 /r/n 特殊字符。 如果您希望在比较文本时忽略 /r 特殊字符,请选择忽略回车选项。

要根据字符串是否为空创建条件,请使用 Equal to 运算符将源值与空目标字段进行比较。

请参阅 使用条件语句的示例

Task Bot 根据指定 Task Bot 的状态,使用任务成功任务失败条件执行 actions。 您还可以使用错误处理程序任务未成功条件一起检查任务是否失败。 只要在 错误处理程序 > 捕获 action 中未启用出错时继续执行下一动作选项,,即可实现此操作。
VBScript 根据指定的 Visual Basic 脚本状态,使用脚本成功脚本未成功条件执行 actions。 选择包含脚本的文件,并可选择通过选择变量来指定参数。
窗口 使用窗口已存在窗口不存在条件,通过输入窗口标题或使用变量来验证是否打开特定应用程序窗口。 输入等待此条件成立的时间(以秒为单位)。 当窗口标题保持不变时,使用这些条件来验证特定窗口是否打开,并根据输出执行进一步的 actions

窗口存在条件使用相同的窗口变量从缓存中搜索特定窗口。 例如,当您打开 Yahoo India 网页并在网页上的新闻选项上执行单击操作时,action 将您导航到另一个页面,该页面会更改窗口的标题。 在这种情况下,当您使用窗口存在条件来验证窗口是否存在时,bot 仍然会从缓存中获取 Yahoo India 网页,并对其执行 action,因为窗口仍然相同,只是标题发生了变化。 有关窗口变量工作原理的更多信息,请参阅 您的变量(用户定义)

使用具有相同标题的窗口不存在具有相同标题的窗口已存在条件,验证具有相同标题的窗口是否存在,或者窗口标题是否已经改变。 输入保持验证条件是否为真的时间(以秒为单位)。 这些条件用于动态窗口标题。 例如,当打开 Google 账户网页,输入您的用户名和密码登录您的账户时,窗口标题会发生变化。 如果您想在下一个 action 中撰写新电子邮件,可以在执行下一个 action 之前使用这些条件来验证具有相同标题的窗口是否存在或标题是否已更改。

组条件

当您希望 bot 在执行一组 actions 之前同时检查多个条件时,可使用添加组选项添加多个布尔条件,或者在组内使用选项组合多个条件。

您还可以在一个组内添加另一个组。

示例

构建使用桌面应用程序的基本 bot

如何构建使用 If package 的基本 TaskBot 的示例。