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

如何让UFT根据数据表中的日期值匹配aria-label属性定位日期选择元素?

UFT日期选择器脚本问题解决

1. 修正元素类型错误

你当前代码里误用了WebButton对象,但目标元素是<td>标签(表格单元格),UFT中对应WebElement对象,这是导致识别失败的核心原因之一。修正后的代码:

iDate = strAppointmentDate
Set dd = Browser("Browser").Page("Select Appointment").WebElement("aria-label:=" & iDate, "html tag:=td")

2. 确保日期格式完全匹配

必须保证数据表中strAppointmentDate的格式与目标元素的aria-label属性值完全一致,包括:

  • 日期格式(如2024-06-18和2024年6月18日是两种完全不同的格式)
  • 大小写、空格、特殊符号(部分页面的aria-label可能包含额外描述,比如预约日期:2024-06-18,需确保iDate包含完整内容)
    可以临时添加MsgBox iDate输出当前日期值,对照页面元素的aria-label属性确认是否匹配。

3. Tab index=-1的影响说明

tabindex=-1仅表示该元素无法通过Tab键导航获取焦点,对UFT的元素定位没有直接影响——UFT是基于元素属性(如aria-label、html tag)识别元素,而非键盘导航规则,所以无需担心这个值干扰定位。

4. 备选定位方案(若属性定位仍不稳定)

如果直接用aria-label定位存在冲突,可改用XPath精准定位,示例代码:

Set dd = Browser("Browser").Page("Select Appointment").WebElement("xpath:=//td[@aria-label='" & iDate & "']")

XPath会直接匹配所有aria-label属性值等于iDate的<td>元素,定位精度更高。

内容的提问来源于stack exchange,提问作者Carlos Daniel Hernandez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 23:55:25