钾肥喵的窝

我在 CODING 部署的 Hexo 博客

0%

健康打卡?我要自动化!

起因是在阮行止大佬的博客看到一篇文章: https://ruanx.net/selenium/ 但是Python和Selenium我都不会啊,而且哈工大和忽忽悠的系统差别较大。

于是发挥优良传统: 抄代码! 在CSDN上找到一篇文章: https://blog.csdn.net/wjl_zyl_1314/article/details/107036245 这篇文章也是代码的主要来源。

开搞之前

自动打卡需要几步? > + 自动登录 > + 自动填写信息 > + 自动提交 > + 信息反馈

自动登录

正常情况下我们看到的打卡界面链接是这样的: http://form.hhu.edu.cn/pdc/form/list 在InPrivate窗口中打开就见到了真面目: http://ids.hhu.edu.cn/amserver/UI/Login?goto=http://form.hhu.edu.cn/pdc/form/list

之所以不从信息门户开始纯粹是因为懒(又多了好几步跳转)

接下来就是自动填写用户信息了, 把元素id替换一下就好了。

自动填写信息

忽忽悠的健康打卡页面在缺省时用的是上次填写的信息, 所以就没有写这部分。

自动提交

同理, 重点在确定元素, 这里不得不吐槽提交按钮的阴间设计, id, name, class, Xpath试了一圈都不起作用, 最后用class_name成功定位。

信息反馈

照抄代码没什么好讲的。

吐槽

忽忽悠的服务器最近一直抽风, 预设的时间不一定够网页加载完, 结果就是连续三天看不到熟悉的邮件, 这也是用了一个月又更新的原因。

原来的方法是直接暴力设置几秒的延迟, 结果这几天服务器抽风, 设置的延迟不够。

百度之后学到了新的方法, 设置了最大半个小时的等待时长, 详见这篇文章: https://www.cnblogs.com/Lixinhang/p/10875147.html

~~半个小时你能卡我, 你能卡死我? 你今天要是半个小时都不让我打卡, 我骚钾肥当场, 把这个电脑屏幕吃掉! ~~

完整代码

这里对敏感信息做了模糊处理, 请根据实际情况自行替换。