python的强大之处就在于有许多已经写恏的功能库提供这些库强大且易用,对于写一些有特定功能的小程序十分方便
现在就用pyhton的selenium+谷歌游览器写一个可以自动刷课的程序,以智慧树上的网课为例
原理说明:selenium 是一套完整的web应用程序测试系统,可以模拟真实游览器支持多种游览器。简单来说就是可以定位到html元素比如按钮,输入框之类的然后模拟点击,模拟输入等从而实现自动化效果selenium难点在于定位元素。
20 #转到播放视频页面 28 #因为跳转到新的頁面所以browser要切换到新的页面操作 43 #判断是否有答题窗口弹出 58 #判断当前视频是否结束 63 #获取当前播放的进度 65 #该视频的总时间 69 #当前视频播放结束,点击下一节 85 key=''#课程名称可以部分名字
这个程序只是做一个简单的演示,并没有做到很全面但也可以用的。
selenium定位不到元素时会报错要處理好,否则程序就没用了元素定位最好使用WebDriverWait的方式,加上异常控制
网站是会变化的,分析好网站操作基本的过程基本没有问题了。
selenium定位不到元素有以下几种情况
1.通过class定位时有时定位不到
2.页面没有加载出来,元素无法定位
3.元素不可见无法定位
4.元素被其它元素遮挡叻