自动登录东南大学每日打卡报平安
这是一个自动每日报平安打卡的python脚本,基于Selenium库
团队打卡版本可以访问 typex.ltd,之前承诺的功能应该都做到了。
如果您想自己编译python代码,则需要:
- python3
- 安装selenium库
- 与浏览器对应的Webdriver
前往 releases 下载最新版本安装包并解压。
请直接点击exe文件运行程序,第一次运行需要输入您的一卡通号和密码(这完全保存在您的计算机上,并不会泄露给我或其他人)。
如果您每晚都需要关闭计算机,建议将exe文件的快捷方式添加到开机启动目录,这样在您第二天打开计算机的时候便可以自动运行程序。
其主要实现的功能有:
- 第一次登录成功后密码保存在本地,以后再次运行无需重复输入密码
- 每日10点钟之前自动打卡,具体打卡时间与第一次登录时间有关
- 打卡成功后会在log中记录打卡的时间方便查看,如果愿意的话可以接入微信报备(可以但没必要,鉴于该功能并不一定适用所有人,如果您需要请单独联系开发者)
1.3 版本更新,在打卡之后可以自动开始第二日入校申请
- 默认兼容1.2版本,只有将 loginData.json 文件(loginData.json 文件会在程序第一次运行之后自动生成)中的 destination 手动改为改为具体的"所到楼宇"才会激活第二日入校申请(此时需要重新启动程序配置才会生效) 参考格式:{"username": "1111111", "password": "ABABABABABAB", "loc": "", "destination": "教务处380"}
- 1.3版本目前默认的”申请理由“为”到办公室科研“,如需要选择其他选项,请手动更改源码或等待后续更新(咕咕咕)
- 1.3版本默认的通行开始时间为8:31,结束时间为20:31,如需要选择其他选项,请手动更改源码或等待后续更新(咕咕咕)
- 1.3版本测试的通行区域为”四牌楼校区“,不保证其他校区的同学也可以正常使用
- 1.3版本目前仅有 Chrome 版,如使用的是其他浏览器,请手动更改源码或等待后续更新(咕咕咕)
程序正常运行的界面截图:
- 最新版本的64位 Chrome 浏览器(必须,版本号为 83.0.4103.97,请前往 Chrome官网 进行下载)
- 最新版本 Chrome 浏览器已经不再是 83 版本,所以如果程序不能正常运行请重新下载 webdriver 并自行替换
-
最新版本的 Firefox 浏览器(必须,版本号为 77.0.1)
- 可以通过
firefox --version
查看 Firefox 版本号 - 如果 Firefox 版本不符,请输入下列命令进行升级
sudo apt update sudo apt upgrade
- 如果您的主机上并未安装 Firefox,请输入下列命令进行安装
sudo apt update sudo apt upgrade sudo apt install firefox
- 可以通过
-
与最新版 Firefox 浏览器对应的 geckodriver 驱动。如果您遇到了驱动与浏览器版本不符的情况,除了升级浏览器外,还应该升级驱动
- release 中自带了与上述浏览器版本号对应的驱动(我还是很贴心的)
- 如果需要升级驱动,请自行下载 geckodriver 最新版,一般选择 64 位系统的安装包,下载完成后替换掉 release 中自带的 geckodriver 即可
-
上述两点都确定之后,可以使用下列命令运行程序(以 1.1 版本为例)
tar zxvf login1.1_firefox_for_linux.tar.gz # 解压压缩文件 cd login1.1_firefox_for_linux # 跳转到目标目录 ./login1.1_firefox_for_linux # 运行程序 # 如果您是远程ssh到目标 Linux 主机的,建议使用 nohup 挂起,但是第一次运行程序时不可以挂起,因为要输入账号密码 # nohup ./login1.1_firefox_for_linux &
2020年6月30日晚,东南大学研究生院发布通知说2019级硕士生将于2021年春季才能开学,愤恨之余,想到居然还强制要求每人每天打卡报平安,属实不妥。因而在原有代码基础上增添了团队版本,配合网页端可以帮助大部分人打卡(即一台主机可以同时帮多人打卡)。届时只需要在网页上登录一次,就永远不用担心需要打卡了。
网页端后续如果有时间我会着手来写。
TO DO LIST:
- 网页端登入(前端代码)
- 密码检验
- 邮件提醒
- 数据库存储
- 最新版Chromium内核的64位Edge浏览器(必须,版本号为83.0.478.45)
- 请务必确认Edge浏览器的缩放比例为100%
- Edge浏览器无法后台静默运行,也无法隐藏log,因而为了极致使用体验还是建议使用Chrome
- 最新版IE浏览器(必须)
- 请务必保证IE浏览器的缩放比例为100%,工具-缩放请务必选择100%,建议提前打开IE浏览器查看缩放比例
- 请务必关闭IE保护模式,请前往工具-Internet选项-安全,将Internet,本地Internet,受信任的站点,受限制的站点这四个区域的下方方框——启用保护模式(要求重新启动Internet Explorer)前面的勾都去掉,然后点击确认并重启浏览器确认这四个区域的保护模式都已经关闭
- 建议将seu.edu.cn加入到IE的兼容性视图,兼容性视图设置在工具-兼容性视图设置
-
升级浏览器后如果程序不能运行,则需要重新下载webdriver并自行替换
Edge Webdriver 下载地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
Chrome Webdriver 下载地址:http://chromedriver.storage.googleapis.com/index.html
-
如果第一次您的密码输入错误,请自行寻找loginData.txt(v1.2及以前) or loginData.json(v1.3及以后)文档并修改成正确的账号密码
-
如果您遇到下面提示:
未知错误 Message: unkown error: cannot find Chrome binary
,则表示您的Chrome浏览器未安装或者安装位置并不是系统默认位置:C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
如果是 v1.2 及以前版本,请找到 loginData.txt 文件,并在文件的第三行(前两行分别是您账号和密码)补上您的 Chrome 的安装位置(如果是系统默认位置则不需要添加),格式一般为:
X:\Google\Chrome\Application\chrome.exe
,其中X为盘符如果是 v1.3 及以后版本,请找到 loginData.json 文件,并在 "loc" 后添加您的 Chrome 的安装位置,此时正确的配置文件格式一般为:{"username": "1111111", "password": "ABABABABABAB", "loc": "X:\Google\Chrome\Application\chrome.exe", "destination": "教务处380"}