如果/否则

概述

根据是否符合某个判断条件,执行一组步骤(或另一组步骤)。


这类场景非常常见,如在用百度搜索选中文字的时候:如果成功获取了选择的文本,则搜索选中的文本,否则打开百度主页。

image.png


基本的步骤定义如下:

image.png



2个模块的区别

image.png

Quicker提供了2个模块实现此功能,他们是:

  • 如果:仅有一个分支,条件符合的时候执行这些步骤,不符合的时候跳过这些步骤。
  • 如果/否则:有两个分支。条件符合的时候执行第一组分支步骤,不符合的时候执行第二组分支步骤。


“如果/否则”模块包含了“如果”模块的功能。提供单独的“如果”模块主要是编辑的时候减少模块占用的空间。


这两个模块之间可以在步骤列表中使用右键转换类型。

切换如果模块类型.gif



将步骤添加到分支

从模块工具箱拖动模块到“如果”或“否则”分支的“槽”内松开即可。

步骤放入如果分支.gif




判断条件

可以通过两个方式指定判断条件:

  • 通过直接指定布尔类型的变量
  • 通过表达式指定


通过变量指定判断条件

image.png

在“如果”参数中直接选择要判断的布尔类型变量即可。


这些变量的值通常是在其他模块中返回的。例如,在“获取选中的文本”中,将“是否成功”的结果返回到isSelected变量中。

image.png


通过表达式语句指定判断条件

image.png


使用表达式语句设定判断条件有下面的这些优点:

  • 更方便:可以直接根据其他变量得到判断结果,而不需要创建一个新的布尔变量表示这个结果。例如:
    • 判断一个文本变量的值是否为“百度”:​$= {文本变量} == "百度"
    • 判断一个数字是不是大于0: ​$= {数字变量} > 0
  • 更灵活:可以使用 && (表示AND,多个条件同时满足)和 || (表示OR,满足任意条件即可),以及括号组合多个条件。例如:
    • 判断一个数字在10和20之间:​ $= {数字变量} >= 10 && {数字变量} <= 20
  • 更强大:可以在表达式中使用变量类型的属性或函数实现更强大的判断。
    • 判断列表的长度是否大于10:​$= {列表变量}.Count() > 10



表达式语句以 $= 开始(写在参数框最前面),后面的内容使用类似C#的语法编写。使用 {变量名} 指定一个变量。指定文本常量时,使用英文双引号包围,如"百度"

更详细的表达式内容请参考:https://www.yuque.com/quicker/help/expression



其他

实现类似switch语句的结构

根据一个变量的不同值分别执行相应操作的场景,可以使用多个连续的“如果”模块。每个模块负责判断值是某个指定的值的时候要执行的操作。

image.png


参考


语雀在语雀上查看