PKU一键出入校备案小工具 v3.2 (2021.11.15)
已知问题:
PhantomJS
等 driver
问题可尝试 chromedriver
并取消注释 main.py
的相应代码,参考PR#40selenium
已停止对 PhantomJS
的支持, 2.48.0
及 3.8.0
版本测试正常,参考#35v3.0
可能出现登录问题,请采用最新 repo 或发行版,参考#35为作者的第一个 selenium
练手小项目,完善程度较低,欢迎任意类型的使用与开发改进
selenium
完成自动化操作,实现全自动填报学生出入校备案,为频繁出入校的 PKU 学子(不频繁也行)提供较为便捷的解决方案selenium
一个,从下到用贼jr快本项目需要 Python 3,可以从Python 官网下载安装
本项目采用 Python 3.7.4 开发,由于含有 f-string
,请至少使用 Python 3.6 及以上版本,建议使用 Python 3.7 及以上版本
采用如下命令安装 selenium
,支持 2.48.0 及以上版本(注意最新版本不支持 PhantomJS
):
pip3 install selenium==2.48.0
然后就没了。惊不惊喜?意不意外?
将 config.sample.ini
文件重命名为 config.ini
,请不要新建文件,不然自己搞定编码问题
用文本编辑器(建议代码编辑器)打开 config.ini
文件
配置 [login]
、[common]
、[out]
、[in]
、[capture]
、[wechat]
这几个 Section 下的变量,在 config.ini
文件内有详细注释
若需要多人同时填报,可将 config.ini
文件复制若干份,分别重命名为 config+序号.ini
例如 config1.ini
, config2.ini
...并配置对应变量
Note: 序号仅作匹配用,具体数值不重要,但是非法命名格式可能导致检测失败
进入项目根目录,以命令 python main.py
运行主程序
run.bat
运行(仅限 Windows 系统)main.py
并运行(并不推荐)本项目中的 autoRun.bat
文件可提供在静默免打扰情况下运行程序的选择,配合 Windows 任务计划管理可实现定期自动填报,具体请参考Win10下定时启动程序或脚本
进入项目根目录,以命令 ./macAutoRun.sh
执行 macAutoRun.sh
脚本即可,可设定或取消定时运行
使用 Linux 系统的小伙伴们想必有一定的 shell 基础,那大佬们就自行用 crontab
设置吧~
Note: 静默运行的弊端为无法看到任何报错信息,若程序运行有错误,使用者很难得知。故建议采用定时静默运行时,设置微信推送,在移动端即可查看到备案成功信息。或设置备案历史截图功能并定期查看截图(似乎出现了问题,极不推荐)
fork 本仓库后,在 config.sample.ini 中修改除学号密码以外的参数
然后在自己仓库的 settings->secrets->New repository secret 中新建 Name 为 STUDENTNUM, Value 为学号;Name 为 passwd,Value为密码
默认每天晚上0点起每四个小时跑一次,可能会运行失败
本项目支持基于Server酱的微信推送功能,仅需登录并扫码绑定,之后将获取到的 SCKEY 填入 config.ini
文件即可
Note: 因微信将于4月底下线模板消息功能,届时推送功能也将同步更新为Server酱-Turbo。所以有微信推送需求的小伙伴们可以提前做好准备,并关注本项目的未来版本
PhantomJS
作为经典的轻量级无头浏览器,相较 Chrome
等大型浏览器体量小的多,不占空间且运行快速。但是由于其本身属性也可能造成一系列问题,如:
selenium
对 PhantomJS
停止了支持,那到了那天再想别的办法(果然到这天了)