python脚本模拟浏览器实现学习通自动刷网课
1.使用selenium库
2.下载谷歌驱动(驱动版本最好是跟本地谷歌版本差不多)
整体代码如下:
- 判断是否为视频或者文档 是视频就播放 是文档就下一页操作
#判断是否为视频 是就播放 不是就下一页操作
from selenium import webdriver
import timebrowser = webdriver.Chrome(executable_path="D:\google\chromedriver.exe")
url='http://passport2.chaoxing.com/wunitlogin?refer=http%3A%2F%2Fi.mooc.chaoxing.com'
browser.get(url)#学校 学号 密码 验证码登陆
def login():inp_1 = input("请输入学校:")inp_2 = input("请输入学号:")inp_3 = input("请输入密码:")inp_4 = input("请输入验证码:")school = browser.find_element_by_id("FidName")username = browser.find_element_by_id("idNumber")password = browser.find_element_by_id("pwd")verycode = browser.find_element_by_id("numcode")school.send_keys(inp_1)username.send_keys(inp_2)password.send_keys(inp_3)verycode.send_keys(inp_4)browser.find_element_by_xpath('//*[@id="userLogin"]/div/a').click()print("----------正在登陆中----------")# 进入主页 开始选择课程 xpath匹配
def html_1():time.sleep(2)browser.find_element_by_xpath('//*[@id="zne_kc_icon"]').click() #课程选项的xpathprint("----------进入课程----------")time.sleep(2)browser.switch_to.frame("frame_content")#选择我需要学的课的xpathbrowser.find_element_by_xpath('/html/body/div/div[2]/div[2]/ul/li[6]/div[2]/h3/a').click() #课程print("----------已进入所点击课程----------")def html_2():#浏览器标签页跳转设置browser.switch_to.window(browser.window_handles[1])#进入课程中的第一个小节time.sleep(1)browser.find_element_by_xpath('/html/body/div[5]/div[1]/div[2]/div[3]/div[1]/div[1]/h3/span[3]/a').click() #开始小节# button模拟点击播放
def button():time.sleep(1)try:#进入frame播放框架browser.switch_to.frame("iframe")browser.switch_to.frame(0)time.sleep(2) #此处等待需要就一些就不会报错终止程序browser.find_element_by_xpath('//*[@id="video"]/button').click()print('----------等待播放----------')time.sleep(2)print("----------课程正在播放中----------")except:# 回到主框架browser.switch_to.default_content()print("----------此处不是视频,即将点击下一页----------")time.sleep(4)browser.find_element_by_xpath('//*[@id="mainid"]/div[1]/div[2]').click()time.sleep(4)#判断完重新回到button函数再进行判断button()#判断视频是否播放完
def vedio_if():time.sleep(1)try:vedio_stat_time = browser.find_element_by_xpath('//*[@id="video"]/div[4]/div[2]/span[2]').get_attribute("textContent")vedio_end_time = browser.find_element_by_xpath('//*[@id="video"]/div[4]/div[4]/span[2]').get_attribute("textContent")print("播放时间:",vedio_stat_time,'结束时间:',vedio_end_time)time.sleep(1)return vedio_stat_time,vedio_end_timeexcept:pass# 判断有第二节课吗有就播放
def vedio_if2(vedio_stat_time,vedio_end_time):if vedio_stat_time ==vedio_end_time:try:browser.switch_to.default_content()browser.switch_to.frame("iframe")browser.switch_to.frame(1)browser.find_element_by_xpath("//*[@id='video']/button").click()time.sleep(2)except:print("----------没有第二节课了,即将进入下一页----------")def next_start(vedio_stat_time,vedio_end_time):if vedio_stat_time==vedio_end_time:try:browser.switch_to.default_content()print("----------开始点下一页----------")time.sleep(1)browser.find_element_by_xpath('//*[@id="mainid"]/div[1]/div[2]').click()time.sleep(2)except:print("----------结束----------")if __name__=='__main__':login()html_1()html_2()while True:button()time_tuple = vedio_if()while time_tuple[0] != time_tuple[1]:time_tuple = vedio_if()try:vedio_if2(time_tuple[0],time_tuple[1])if time_tuple[0] ==time_tuple[1]:print("----------开始测试第二节课时间----------")time_tuple_2 = vedio_if()while time_tuple_2[0] !=time_tuple_2[1]:time_tuple_2 = vedio_if()next_start(time_tuple_2[0],time_tuple_2[1])except:next_start(time_tuple[0],time_tuple[1])
源代码参照文章:https://www.cnblogs.com/xhfzjbs/p/12028948.html
python脚本模拟浏览器实现学习通自动刷网课相关推荐
- 利用代码实现自动刷网课阅读时长功能 JAVA
目录 前言: 理论依据: 现实依据: 朴素版只能循环阅读不能翻页: 升级版 翻页 + 阅读: 如何使用: 前言: 最近不也快结课了,网课该刷的都要刷掉,最近不就把一门思政课刷完了,课后习题也做了,但是 ...
- python爬虫模拟浏览器的两种方法_python爬虫模拟浏览器访问-User-Agent过程解析
这篇文章主要介绍了python爬虫模拟浏览器访问-User-Agent过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 模拟浏览器访问-Use ...
- python自动化模拟浏览器
采用python自动化模拟浏览器操作 # -*- coding: utf-8 -*-""" 通过splinter刷12306火车票 可以自动填充账号密码并登陆,接下来的事 ...
- python怎么模拟浏览器交互_干货分享:python爬虫模拟浏览器的两种方法实例分析(赶紧收藏)...
今天为大家带来的内容是:干货分享:python爬虫模拟浏览器的两种方法实例分析(赶紧收藏) 文章主要介绍了python爬虫模拟浏览器的两种方法,结合实例形式分析了Python爬虫模拟浏览器的两种常见操 ...
- python脚本开头怎么写_浅谈Python脚本开头及导包注释自动添加方法
浅谈Python脚本开头及导包注释自动添加方法 1.开头:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定 #!/usr/bin/python 是用来 ...
- python 模拟用户点击浏览器_使用python进行模拟浏览器操作
使用python完成模拟浏览器操作主要是使用selenium来模拟浏览器,当然还要带上浏览器的驱动比如chromedriver.exe的驱动. 一般使用selenium进行模拟操作需要注意引入一下几个 ...
- Python+APPIUM+模拟器实现自动看网课
Python+APPIUM+模拟器实现自动看网课 本文主要使用Python以及APPUIM编写脚本实现超星APP自动看课的功能.关于APPIUM的配置请看新手入门--APPIUM的环境配置以及连接夜神 ...
- 分享个荒野日记辅助脚本攻略,荒野日记自动刷资源
分享个荒野日记辅助脚本攻略,荒野日记自动刷资源 红手指相当于一台云端运行的手机,同时内有千款免费辅助脚本(主流游戏都有脚本),可远程操纵可 24h离线运行,免除你流量.电量不足的烦恼,即使你下线,ap ...
- Python脚本模拟按键Crtl+1,Crtl+2....实现浏览器标签自动切换
可以使用pyautogui库来实现模拟按键功能.首先安装该库: pip install pyautogui 接下来,创建一个名为keyboard_simulation.py的Python脚本,并编写以 ...
- 用Python脚本模拟登陆获取地铁一卡通的充值和消费记录
1. 思路 这几天尝试写了个脚本模拟登陆获取地铁一卡通的充值和消费记录,学习了不少新东西,总结下记录下来.整个流程大概这样,首先模拟登陆一卡通的查询网址,分析如何获取验证码,然后就是下载验证码并识别, ...
最新文章
- GIT:如何管理本机的多个ssh密钥(多个远程仓库账号)
- linux find d,Linux find命令傻瓜入门
- ZOJ18th省赛 Lucky 7
- 给数据中心来个例行“体检”——动力系统
- python解压打开文件过多_在python中使用zipfile压缩文件时层级很多,有很多层目录...
- android光照传感器,详解 android 光线传感器 light sensor的使用
- 微信公众号url服务器在哪里,微信公众号url认证(服务器认证)
- Monkey稳定性测试初探(二)
- 再读王永庆卖米的故事
- python 支付宝支付 无效根证书_Python-支付宝SDK的使用与注意事项,pythonalipaysdk,及,点...
- 安装恩智浦IDE与配置SDK和烧录程序
- 如何解决PS软件工作区不能吸附到工具栏?
- Tkinter模块GUI界面化编程实战(三)——2048小游戏(含详解及完整源码、完整程序下载链接)
- 微信小程序之点点考勤经验总结
- 开放式社区?太小儿科了,智慧城市才是重点
- Spring使用纯注解配置事务管理并实现简单的增删查改以及模拟转账功能
- IOS和安卓展示时间兼容问题
- 后端开发框架的具体内容是什么?
- Java爬虫.HttpClient
- 三分钟读懂什么是动作捕捉
热门文章
- oracle iso,Oracle数据库之Linux操作系统各版本ISO镜像下载(包括oracle linux\redhat\centos\u...
- zul ajax使用线程池
- C语言中学生成绩管理系统
- 奋战聊天机器人(二)语料和词汇资源
- 2022年上半年系统集成项目管理工程师下午真题及答案解析
- HDU 3642 Get The Treasury ( 线段树 求长方体体积并 )
- 网易云爬取歌词进行歌词词云可视化
- 视频教程-R语言数据挖掘-模型评估篇-大数据
- 解决SVN语言包安装后无法出现下拉框选择
- 拍照识别身份证 Android/iOS身份证识别技术