【即是过客】日常分享015之 win元素日期选择巧妙解法 —— 微信4.*版本日期选择
评论
收藏

【即是过客】日常分享015之 win元素日期选择巧妙解法 —— 微信4.*版本日期选择

经验分享
即是过客
2025-08-26 10:50·浏览量:916
即是过客
影刀专家
影刀认证工程师
发布于 2025-08-26 10:41更新于 2025-08-26 10:50916浏览

一句话总结:win元素无法捕获日期元素时的巧妙解法


情景:微信4.0+版本的日期框无法捕获日期元素

示例图:

由于每个日期在每个月的位置不固定,无法固定坐标点击

那么有其他办法能智能点击日期吗?

有的兄弟,有的



众所周知,日期排版是固定的,如上图所示,日期排版为7*6表格样式

那么我们可以拿到整个日期框的宽度(180)/ 7 ≈ 25.7   高度(154)/ 6 ≈ 25.6 (因为点击偏移需要整数,此处2个值取26即可,偏移差距不大

计算得出每个单元格(即每个日期的高度和宽度)

【不同电脑可能会收到分辨率 DPI等影响,可以自行获取一下元素属性参考修改】

众所又周知,该日期框是以周一开头,周日结束,此时我们可以用指令拿到当月1号的星期值

从而计算得出需要选择的日期位于该日期框中的行号、列号

行号:(选择日期 - 1 + (时间详细信息.weekday - 1)) // 7 + 1

列号:(选择日期 - 1 + (时间详细信息.weekday - 1)) % 7 + 1


此时我们拿到了需要选择的日期位于日期框表格中的行号和列号,加上上面拿到的单元格宽度和高度(即单个日期的宽高)

那么见证奇迹的时刻到了

数学经常考满分的一眼就算出来了

我们需要选择的日期坐标为:

横坐标:列号_选择日期*26-13(减去13即为去掉一半宽度,即点击元素横向中间位置)

纵坐标:行号_选择日期*26-13(减去13即为去掉一半高度,即点击元素纵向中间位置)


结合点击元素调整位置偏移(注意起始位置需要元素左上角)


演示视频:




示例代码:

需要5.30以上版本才能复制到影刀 🔔公告 | V5.30发布更新说明

【年份和月份元素都可以捕获到,自行添加即可,示例代码未做容错】


收藏25
全部评论1
最新
发布评论
评论