UESTC_Report
免责声明本项目基于python-selenium与geckodriver实现在Firefox浏览器上模拟使用者每日登录并提交健康信息的操作。打卡所涉及信息默认为使用者上次打卡信息,本项目对打卡信息未进行任何修改。当您使用本项目,默认您知悉并同意以历史信息作为当前健康状况进行上报。
注意:如果您存在任何信息变更:如中高风险旅居史、时空密接等,请暂停项目并立刻上报!若因为瞒报、错报信息而造成严重后果,与本项目及相关维护者无关!
当您参照下列操作进行部署时,默认同意上述免责声明。
更新历史- V1.0(21-12-20):基础代码构建,滑块逻辑实现
- V1.1(22-05-28):修复滑块失败重复尝试,设定actions执行,增加飞书webhook提示
- V1.2(22-06-05):完善文档,修改定时执行时间。
本项目代码支持使用Github workflow进行快速部署,无需服务器资源和繁杂的个人设定即可实现定时执行、自动通知结果等功能。
- 进入仓库,fork该项目(当然,也希望可以点个star支持一下來):
然后直接选择Create Fork即可完成仓库的拷贝。
- 在fork后的仓库,选择Actions,点击I understand my workflows, go head and enable them,
然后再选择Daily Report的 workflow,选择Enable workflow,即可完成项目在Github服务器部署自动定时执行。
- 最后,进入Settings->Secrets->Actions,选择New repository secret:
新建命名为LOGIN的密钥,Value为学号密码,中间由#隔开(注意,输入的学号密码之间不要有空格!)。输入完成点击Add secret。
至此,自动打卡工程已经部署完成,我们可以回到Actions里手动执行一次查看运行效果:
执行成功后可以看到结果如下,正常执行大概需要60~120s,视打卡当时服务器波动情况。
如果想自己设置自动打卡的时间,可以修改UESTC_Report/.github/workflows/main.yml文件中的cron,具体格式请自行百度。
-
(可选)本项目集成了飞书的通知功能。如果需要查看打卡的具体结果,可以使用飞书webhook功能。具体部署方法如下:
第一步,打开电脑版飞书(手机版似乎没有办法添加自定义机器人),新建一个只有自己的对话,重命名后点击创建:
第二步,选择群设置->群机器人->添加机器人,
选择自定义机器人,配置好名称和描述后,复制webhook地址。
第三步,进入Settings->Secrets->Actions,选择New repository secret,新建命名为NOTICE的密钥,Value填入webhook地址,输入完成点击Add secret。
这样自动通知就部署完成了,每当打卡代码执行完成时,飞书端会发送通知:
如果需要自定义提示消息形式,可以参照飞书开发文档:
自定义机器人指南:https://open.feishu.cn/document/ukTMukTMukTM/ucTM5YjL3ETO24yNxkjN
与快速部署在Github服务器不同,部署自有服务器有三点主要的不同。
- 需要安装Python并安装依赖 requirements.txt,建议python安装3.8版本及以上,并为本项目建立独立虚拟环境。
- 需要优先安装符合版本要求的Firefox和Geckodriver。可以直接使用在线部署的shell脚本安装,直接用管理员权限执行两个脚本即可。
- 需要修改src/config.json文件里的配置,主要包括:
a. 修改online选项为false。
b. 设置offline_deployment里的参数,包括账号密码,webhook地址,(如果按照脚本安装geckodriver,其已经移动到/usr/local/bin目录下,可以直接设置为空)。
完成部署后,既可以手动运行main.py,也可设置一个后台线程定时执行,打卡流程与github上部署本质上一致。
基于 Windows 部署Windows部署除了需要自行下载Firefox浏览器与Geckodriver,其它与Linux一致。二者下载地址分别为:
Firefox镜像:https://download-installer.cdn.mozilla.net/pub/firefox/releases/
Geckodriver:https://github.com/mozilla/geckodriver/releases
注意,两者之间必须按照对应关系安装,否则工程执行将会出错。两者版本对应关系如下:
版本对应表:https://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html
安装完成后,将Geckodriver地址填入src/config.json即可。
Windows定时执行可以自行编写bat或者js脚本调用本项目执行,再将脚本放在Windows开机自启动文件夹下实现每天开机时自动执行。
其它事项- 代码执行存在一定的失败几率,建议每天定时执行至少3次,基本可以保证百分百打上。
- 部署Github的Workflow时,务必注意不要在任何公开区域透露个人系统账号密码。一旦暴露,你的密码可能被任何人盗取并进行危害性的操作,务必注意!
- 如果出现连续打卡失败,可能是系统登录地址或者填报地址变更,请及时关注本仓库。



