跳转到主要内容元素的搜索区域由在搜索位置部分设置的元素属性以及在搜索条件部分设置的条件共同确定。在应用属性和条件之前,搜索区域与页的矩形边界一致。首先,程序将元素属性应用到该区域;随后,程序再应用在搜索条件部分设置的附加限制。
可以在搜索条件部分设置以下类型的约束:
- 可将搜索区域限制为一个矩形(
Rect 变量)、一个区域(即由连续矩形组成的数组——Region 变量),或一个在一般情况下不要求连续的矩形数组(RectArray 变量)。此类约束通过使用 RestrictSearchArea 函数并指定相应类型的参数来设置。任何返回所需类型值的表达式都可作为参数。
- 可将搜索区域限制为位于某一点左侧、右侧、上方或下方的半平面。此类约束通过使用 Leftof、Rightof、Above 和 Below 函数来设置。
- 有时可能需要对元素边界设置约束。例如,可能事先知道某元素的左边界始终位于图像的左部,而右边界可能向右无限延伸。FlexiLayout 语言允许在计算搜索区域阶段设置此类约束,从而缩小元素可能的假设范围。此类约束通过使用
LeftBound、RightBound、topBound 和 BottomBound 函数以及运算符 > 和 < 来设置。LeftBound 和 RightBound 用于访问搜索区域的左、右边界,topBound 和 BottomBound 分别用于访问上、下边界。
- 也可以通过从搜索区域中排除某个矩形、矩形数组、某个假设等来设置搜索约束。可使用
Exclude、ExcludeRect 和 ExcludeSet 函数实现。
你可以在搜索条件部分指定任意数量的上述类型的搜索约束。每个约束都会在图像上形成一个区域,所有这些区域将进行求交。
此外,元素计算得到的搜索区域还将与其所属的 Group 元素的搜索区域求交。