You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UFT One AIUtil通配符使用咨询:如何匹配前缀固定的弹窗文本选项

UFT One AIUtil通配符使用咨询:如何匹配前缀固定的弹窗文本选项

嗨,我之前在使用UFT的AIUtil处理弹窗文本时也碰到过类似的问题,刚好可以给你分享几个实用的解决办法!

方法1:使用通配符*直接匹配前缀

UFT的AIUtil.FindTextBlock其实原生支持通配符*,它可以匹配任意长度的任意字符(包括空字符)。如果你的目标文本前缀固定,比如开头都是“固定前缀”,直接这样写就可以:

AIUtil.FindTextBlock("固定前缀*").Click

这种方式简单直接,适合大多数前缀固定的场景。

方法2:用正则表达式精准匹配开头

如果通配符的匹配范围太宽泛(比如怕匹配到中间包含前缀的文本),可以试试正则表达式。AIUtil支持基于正则的文本匹配,用^符号指定文本开头,再结合.*匹配后续任意内容,代码示例:

AIUtil.FindTextBlock("^固定前缀.*").Click

这里的^确保只匹配以“固定前缀”开头的文本块,避免误匹配其他包含该前缀但不在开头的内容。

方法3:遍历所有文本块手动筛选(兜底方案)

如果上面两种方法都没生效,可能是AI识别的文本块拆分方式和你预期的不一样,这时候可以用FindAllTextBlocks获取弹窗里所有的文本块,再通过VBScript的字符串函数筛选出前缀匹配的选项:

' 获取弹窗内所有文本块
Set allTextBlocks = AIUtil.FindAllTextBlocks()
' 遍历每个文本块,检查前缀
For Each textBlock In allTextBlocks
    ' 假设固定前缀是"固定开头",检查文本是否以此开头
    If Left(textBlock.Text, Len("固定开头")) = "固定开头" Then
        textBlock.Click
        Exit For ' 找到目标后退出循环
    End If
Next
' 释放对象
Set allTextBlocks = Nothing

这个方法灵活性最高,哪怕AI识别有小偏差,也能精准定位到目标选项。

另外还有几个小提醒:

  • 可以先用UFT的AI Spy工具查看弹窗里实际识别到的文本内容,确认前缀的拼写、大小写、是否包含空格等细节,避免因为这些小问题导致匹配失败;
  • 如果弹窗加载有延迟,记得在操作前加个Wait或者AIUtil.WaitForObject确保元素加载完成,否则可能找不到目标文本块。

希望这些方法能帮你解决问题!

备注:内容来源于stack exchange,提问作者DMalerman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 12:32:37