一.整体概述
最近迷上了python自动化,再加上我学习通还有选修课程没有刷,突发奇想看能不能写一个自动化刷课的python程序。虽然面临被检测的风险,但程序整个制作过程还是收获满满的。
学习通在每节课播放结束后并不会自动播放下一节课,所以这个自动化实现了自动点击下一节课的功能。
基本思路是这样的,自动登录(图形验证码需要借助opencv库,学了之后再更新代码);爬取课程时长以控制自动化操作;模拟鼠标,在每节课结束后自动播放下一节课。这样就可在教室上课时,宿舍电脑挂机刷课了。
整个过程需要用到selenium库和pyautogui库。selenium可以定位html标签元素,可以爬取网页信息,和实现一些鼠标和键盘输入的自动化操作。pyautogui库是也是操控键盘和鼠标的库。你或许会问这不和selenium的功能重复了吗。主要是本博主才疏学浅,学习通用了js动态添加的功能,我没找到办法用selenium定位这种源代码里面没有的标签,所以我借助了pyautogui库里面通过位置操控鼠标的功能,而不是定位标签元素去点击。
二.实现过程
2.1 selenium库创建一个浏览器的对象
开始之前需要做点准备工作
1.安装selenium库和pyautogui库,这就不过多说明了,可以在pycharm里面操作。
2.使用selenium操控浏览器的时候需要下载对应的浏览器驱动。先去浏览器设置里面找到浏览器的版本,然后去WebDriver官网下载