首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

《最新出炉》系列初窥篇-Python+Playwright自动化测试-30-处理日历时间控件-下篇

理想很丰满现实很骨感,在应用playwright实现web自动化时,经常会遇到处理日期控件点击问题,手工很简单,可以一个个点击日期控件选择需要的日期,但自动化执行过程中,完全复制手工这样的操作就有点难了或者是有些复杂啰嗦而且麻烦不过相对于selenium来说,playwright已经很好了。宏哥上一篇已经讲解了如何处理日历时间控件,但是有些网站不知道出于什么原因,对于第一种方法可能会遇到输入框是readonly的情况,禁止输入文本。那么第一种方法就不适用了,但是只要我们换个思路然后稍微的变通地处理一下,就又可以使用了。

05

《最新出炉》系列初窥篇-Python+Playwright自动化测试-30-处理日历时间控件-下篇

理想很丰满现实很骨感,在应用playwright实现web自动化时,经常会遇到处理日期控件点击问题,手工很简单,可以一个个点击日期控件选择需要的日期,但自动化执行过程中,完全复制手工这样的操作就有点难了或者是有些复杂啰嗦而且麻烦不过相对于selenium来说,playwright已经很好了。宏哥上一篇已经讲解了如何处理日历时间控件,但是有些网站不知道出于什么原因,对于第一种方法可能会遇到输入框是readonly的情况,禁止输入文本。那么第一种方法就不适用了,但是只要我们换个思路然后稍微的变通地处理一下,就又可以使用了。

01

微信小程序校历组件

首先得根据年月将本月的日历打印出来,使用util.formatDate("yyyy-MM-01", date)获取本月的1号的Data对象,然后计算他是本周的周几,使用Date.addDate()将日期转到1号所在的那周的周一,就是本月日历要打印的第一天,由于校历一般是周一作为一周的开始,所以需要稍微处理一下,不能直接减掉周次来将Date对象指向打印日历的第一天。 由于每月的日历最多是五个周,所以我们直接打印五个周的时间即可,使用Date.addDate()将日期一天一天累加,并将数据保存即可。 对于日期的样式,我是用了相对比较简单的办法,通过if判断日期来给予其特定的样式,我是将不同的class拼接为字符串赋值到unitObj上的,对于显示的颜色等,通过css的优先级控制,单元样式继承于容器,对于需要特定现实的样式提供一个detach字段保存。 跳转日期则直接获取时间来拼接月份然后调用日历月份处理方法即可。

02
领券