说明文档基于原Readme文件修改,因为当时开发完就回学校正常上课了,所以也就没维护之前的那个脚本Readme文件,导致之前的版本可能不是很清晰,有之前文件的小伙伴请参考本文为主。
脚本源码 : 传送门
配置环境
默认已安装好谷歌浏览器,pycharm和python环境,如果没有安装以上三个软件的小伙伴请自行百度安装,因为实在太简单这里就不过多赘述。
1、请在Pycharm上下载Selenium的插件,默认最新版本即可。
2、下载驱动;首先,先检查谷歌浏览器版本,比如我的是100.0.4896.88(正式版本) (64 位)打开:http://chromedriver.storage.googleapis.com/index.html
我就选择100.0.4896.60的这个版本文件夹进行下载。
3、配置好以上环境之后请测试一下下面的代码能否正常使用,如果报错请检查驱动版本和浏览器版本是否是最接近的版本。
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
time.sleep(2)
driver.quit()
4、修改谷歌缓存位置的代码option.add_argument(r'user-data-dir=C:\Users\CJHONG\AppData\Local\Google\Chrome\User Data')
,这一步是为了防止你每次打开浏览器都要重新登录的问题,有了cookie就不会有这种情况了,所以一定要修改成自己的路径,默认情况下把“ CJHONG ”那个改成你计算机C盘下Users文件夹里面的第一个文件夹名字即可。
代码参数
首先,不建议修改后面的函数内容和引入的模块,除非你需要二次开发,并且是在能够读懂代码的前提下,如果你需要二次开发,请知悉以下变量和函数作用后自行更改。
1、" sign_num " : 是签到/答题次数;
2、" class_state " : 指当前是否在课堂内,True为未进入课堂,False为已在课堂内。
3、course(times)函数 : 传入参数times,即当前时间,返回当前时间是否在课堂时间内。
4、into(card)函数 : 传入参数card,即课程表,进行一系列的判断当前是否在课堂时间,如果是则进入课堂,否则继续循环判断,直到当天课程全部结束之后结束程序。
如果没有二次开发需求,那么你只需要修改MyClass这个对象内的参数即可,这是根据你上课的课程表进行修改,每个参数都有注释,按你理解的去修改即可 下面举个例子。
"1-网络设备",表示08:35-10:02这个时间段上网络设备这节课,我们的课程是8点40上课,10点下课,可以发现我设置的是有延迟和提前进入教室的,因为不保证老师有延迟下课的习惯,所以建议提前5分钟进入课堂,延迟几分钟下课。
特别注意: 课程区间和课程表格里的参数如果要修改请保持"-"的连接符,并且时间按两位数去写,比如8点要写成08这很重要!