日期定位方法、系统、设备、存储介质及程序产品与流程

摘要: 本技术涉及自动化测试及rpa(roboticprocessautomation,流程自动化机器人),尤其涉及日期定位方法、系统、设备、存储介质及程序产品。背景技...
日期定位方法、系统、设备、存储介质及程序产品与流程

本技术涉及自动化测试及rpa(robotic process automation,流程自动化机器人),尤其涉及日期定位方法、系统、设备、存储介质及程序产品。

背景技术:

1、目前日期选择控件的自动化操作主要依赖以下技术路径:其一,基于xpath/css的静态定位方法,该方法依赖于预先定位的、相对稳定的元素路径进行日期定位;其二,基于属性特征的动态定位,该方案利用原始的属性特征及上下文关系进行定位。

2、然而,现有技术高度依赖固定的xpath路径或特定的属性特征。当网页版本更新、dom结构微调或不同厂商的日历控件结构差异较大时,原有的 xpath极易失效,导致自动化脚本需要人工重新编写和调试,增加维护成本;与此同时,现有技术对日历控件的识别方式存在明显缺陷,仅将日历控件视作若干独立的按钮集合,仅对零散的日期元素进行单点匹配识别,无法适配不同日历的差异化排布形式、周起始形式及跨月展示情况,在跨月、跨行的复杂定位场景下,极易出现定位错误、操作失效等问题,场景适配稳定性差。

3、综上所述,亟需一种日期定位方法,能够解决现有技术在处理网页日期选择控件时存在的通用性差、维护成本高、复杂场景定位稳定性不足的问题。

4、上述内容仅用于辅助理解本技术的技术方案,并不代表承认上述内容是现有技术。

技术实现思路

1、本技术的主要目的在于提供一种日期定位方法、系统、设备、存储介质及程序产品,旨在解决在处理网页日期选择控件时存在的通用性差、维护成本高、复杂场景定位稳定性不足的技术问题。

2、为实现上述目的,本技术提出一种日期定位方法,所述日期定位方法包括:

3、获取用户输入的目标年份、目标月份以及目标日期;

4、通过预设第一选择器获取当前年份,并根据所述当前年份与所述目标年份的年份差值,执行对应年份跳转操作,定位至目标年份;

5、通过预设第二选择器获取当前月份,并根据所述当前月份与所述目标月份的月份差值,执行对应月份跳转操作,定位至目标月份;

6、通过预设第三选择器提取当前日期及对应的网格行列索引,按照预设排布规则计算上月显示日期数量,根据所述上月显示日期数量确定目标日期对应的网格坐标位置,并基于所述网格坐标定位目标日期单元格。

7、在一实施例中,所述通过预设第一选择器获取当前年份,并根据所述当前年份与所述目标年份的年份差值,执行对应年份跳转操作,定位至目标年份的步骤包括:

8、将所述年份差值与第一预设阈值进行判断;

9、若所述年份差值大于所述第一预设阈值,则计算所述年份差值对应的绝对值,并根据所述绝对值对应次数执行年份递增跳转指令,跳转至所述目标年份;

10、若所述年份差值小于所述第一预设阈值,则计算所述年份差值对应的绝对值,并根据所述绝对值对应次数执行年份递减跳转指令,跳转至目标年份。

11、在一实施例中,所述通过预设第二选择器获取当前月份,并根据所述当前月份与所述目标月份的月份差值,执行对应月份跳转操作,定位至目标月份的步骤包括:

12、将所述月份差值与第二预设阈值进行判断;

13、若所述月份差值大于所述第二预设阈值,则计算所述月份差值对应的绝对值,并根据所述绝对值对应次数执行月份递增跳转指令,跳转至所述目标月份;

14、若所述月份差值小于所述第二预设阈值,则根据所述绝对值对应次数执行月份递减跳转指令,跳转至目标月份。

15、在一实施例中,所述通过预设第三选择器提取当前日期及对应的网格行列索引,按照预设排布规则计算上月显示日期数量,根据所述上月显示日期数量确定目标日期对应的网格坐标位置,并基于所述网格坐标定位目标日期单元格的步骤包括:

16、根据所述预设第三选择器获取当前日历视图的当前日期;

17、通过正则匹配方法获取所述预设第三选择器中的第一行索引与第一列索引;

18、结合所述当前日期、第一行索引及第一列索引,按照预设排布规则计算所述当前日历视图中上个月显示日期的数量;

19、根据所述上个月显示日期的数量和所述目标日期,计算所述目标日期在所述当前日历视图上的位置序号;

20、将所述位置序号转换为第二行索引与第二列索引,并基于所述第二行索引与第二列索引更新预设第三选择器参数,匹配得到目标日期的网格位置。

21、在一实施例中,所述通过正则匹配方法获取所述预设第三选择器中的第一行索引与第一列索引的步骤之前,包括:

22、判断所述当前日期是否与所述目标日期一致;

23、若所述当前日期与所述目标日期一致,则完成目标日期的位置匹配定位;

24、若所述当前日期与所述目标日期不一致,则执行步骤:通过正则匹配方法获取所述预设第三选择器中的第一行索引与第一列索引。

25、在一实施例中,所述结合所述当前日期、第一行索引及第一列索引,按照预设排布规则计算所述当前日历视图中上个月显示日期的数量的步骤包括:

26、根据所述当前日期对应的第一行索引与第一列索引,计算日历视图中起始位置至当前日期单元格的整体排布天数;

27、基于当前日期对应的当月日期顺位,确定当前单元格在当月日期序列中的排布次序,并统计日历视图中位于当前单元格前的当月日期数量;

28、将所述整体排布天数减去所述当前单元格前的当月日期数量,得到所述当前日历视图中上个月显示日期的数量。

29、此外,为实现上述目的,本技术还提出一种日期定位系统,所述日期定位系统包括:

30、获取模块,用于获取用户输入的目标年份、目标月份以及目标日期;

31、年份定位模块,用于通过预设第一选择器获取当前年份,并根据所述当前年份与所述目标年份的年份差值,执行对应年份跳转操作,定位至目标年份;

32、月份定位模块,用于通过预设第二选择器获取当前月份,并根据所述当前月份与所述目标月份的月份差值,执行对应月份跳转操作,定位至目标月份;

33、日期定位模块,用于通过预设第三选择器提取当前日期及对应的网格行列索引,按照预设排布规则计算上月显示日期数量,根据所述上月显示日期数量确定目标日期对应的网格坐标位置,并基于所述网格坐标定位目标日期单元格。

34、此外,为实现上述目的,本技术还提出一种日期定位设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上文所述的日期定位方法的步骤。

35、此外,为实现上述目的,本技术还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的日期定位方法的步骤。

36、此外,为实现上述目的,本技术还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上文所述的日期定位方法的步骤。

37、本技术提出一种日期定位方法、系统、设备、存储介质及程序产品,该方法包括:获取用户输入的目标年份、目标月份以及目标日期;通过预设第一选择器获取当前年份,并根据当前年份与目标年份的年份差值,执行对应年份跳转操作,定位至目标年份;通过预设第二选择器获取当前月份,并根据当前月份与目标月份的月份差值,执行对应月份跳转操作,定位至目标月份;通过预设第三选择器提取当前日期及对应的网格行列索引,按照预设排布规则计算上月显示日期数量,根据所述上月显示日期数量确定目标日期对应的网格坐标位置,并基于所述网格坐标定位目标日期单元格。本方案通过年月分步跳转结合日历网格自适应索引换算的整体逻辑,能够有效提升网页各类日期控件适配通用性,大幅降低自动化脚本迭代维护成本,同时显著增强跨月、差异化日历布局场景下日期定位的运行稳定性。