RPA手把手——关于日期选项的选择

本文介绍了如何使用RPA处理日期选择问题,特别是在政府网站的学生信息录入场景中。通过datetime模块计算日期在星期中的位置,并建立字典映射星期与td标签的关系,结合行数计算,生成鼠标点击的查找路径,从而实现自动选择指定日期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

艺赛旗 RPA9.0全新首发免费下载 点击下载

http://www.i-search.com.cn/index.html?from=line1

最近碰到一个学校的项目,需要把学生的信息录入到政府网站。政府为了规范录入的信息,大部分的信息都是从下拉框的选项里面去选择。比方要录入学生的出生年月日:2015 年 6 月 1 号,需要从下拉框选择年月日,然后在文本框生成年月日数据
关于日期选项的选择

经过测试,很快发现,年份和月份都可以输入数字,
在这里插入图片描述
这样通过设置文本组件就很容易解决获取年份和月份的输入问题。
接下来就是最难的日的选择了。
在这里插入图片描述
在这里插入图片描述
我们的鼠标点击的查找路径就是按照标签的值找到指定标签后再点击的,那我想要输入的 2015 年 6 月 1 日是第二个 tr 签下的第二个 td 标签,只要我把这个路径传到鼠标点击的查找路径里面,那就能输入我想要的日期。单独看日期的区域的话,其实 2015 年 6 月 1 日为第一排的第二列,相当于六月份的第一个礼拜的第二天(每周从星期天开始算起),那只要计算出输入的日期是当月的第几个星期几,这样得到所有想要输入日期的为第几个 tr 和第几个 td 标签。
刚好 datetime 里面的 strftime 可以获取到指定日期为星期几:
weekday = int(datetime.datetime(year, month, date).strftime(“%w”))
因为它的返回值是从 0 开始,而我们的标签是从 1 开始的,所以构建一个字典:
col_dict = {
0: 1, # ‘星期天’
1: 2, # ‘星期一’
2: 3, # ‘星期二’
3: 4, # ‘星期三’
4: 5, # ‘星期四’
5: 6, # ‘星期五’
6: 7, # ‘星期六’
}

通过这个字典获取星期天对应第一个 td 标签,星期一对应第二个标签,以此类推:

col = col_dict[weekday]
接下来就是计算 2015 年 6 月 1 日为 6 月第几个星期:

获取行数

row = int(datetime.datetime(year, month, date).strftime(“%U”)) - int(datetime.datetime(year, month, 1).strftime(“%U”)) + 1

行数和列数都有了,我们就很轻松的构建出该日期鼠标点击的查找路径:
date_selector = ‘DIV:nth-of-type(1) > DIV:nth-of-type(3) > TABLE:nth-of-type(1) > TBODY:nth-of-type(1) > TR:nth-of-type({}) > TD:nth-of-type({})’.format((str(row+1)),str(col))

然后把 date_selector 传入鼠标点击的查找路径里面,就可以实现点击想要点的年月日了。

2 回帖

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值