

发布于 2025-08-26 10:41更新于 2025-08-26 10:50916浏览一句话总结:win元素无法捕获日期元素时的巧妙解法
示例图:
由于每个日期在每个月的位置不固定,无法固定坐标点击
那么有其他办法能智能点击日期吗?
有的兄弟,有的
众所周知,日期排版是固定的,如上图所示,日期排版为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发布更新说明】
【年份和月份元素都可以捕获到,自行添加即可,示例代码未做容错】