python selenium 刷课_基于Python和selenium的内蒙古继续教育网---刷课
本帖最后由 lntuer 于 2019-9-16 18:14 编辑
目标网址:https://www.nmgjxjy.com/
解决问题:所选课程全部自动化
运行环境:Python3、selenium、chrome、pyautogui
声明:仅限个人学习使用,严禁商业使用,否则后果自负(如有违规请版主删除)
1.png (144.42 KB, 下载次数: 2)
2019-8-30 17:36 上传
登陆网址
2.png (74.39 KB, 下载次数: 1)
2019-8-30 17:36 上传
课程目录
3.png (26.57 KB, 下载次数: 1)
2019-8-30 17:36 上传
单个课程目录
4.png (220.79 KB, 下载次数: 0)
2019-8-30 17:36 上传
单个视频
fromselenium importwebdriver
importpyautogui
importtime
importre
#个人账号username=pyautogui.prompt("请输入账号:")
#个人密码passwd=pyautogui.prompt("请输入密码:")
login_url='https://www.nmgjxjy.com'lesson_url='https://www.nmgjxjy.com/user/packets?flag=studying'option = webdriver.ChromeOptions()
browser = webdriver.Chrome( chrome_options=option)
browser.maximize_window()
browser.get(login_url)
browser.implicitly_wait(10)
elem=browser.find_element_by_class_name("userNmae")
elem.send_keys(username)
time.sleep(1)
elem=browser.find_element_by_class_name("userPwd")
elem.send_keys(passwd)
time.sleep(1)
code_num=pyautogui.prompt("请输入验证码:")
elem=browser.find_element_by_class_name("userCode")
elem.send_keys(code_num)
elem=browser.find_element_by_xpath('/html/body/div[4]/div[1]/div[1]/div[1]/div/div[1]/form/div[5]/input')
elem.click()
time.sleep(3)
browser.find_element_by_xpath('/html/body/div[2]/div[1]/ul/li[2]/a/span').click()
time.sleep(3)
num=browser.find_elements_by_class_name("td_02")
print(len(num))
fori inrange(0,len(num)):
lesson_xpath="/html/body/div[2]/div[3]/div[3]/div/div[2]/div/table/tbody/tr["+str(2+i)+"]/td[7]/a/img"browser.find_element_by_xpath(lesson_xpath).click()
window = browser.window_handles
browser.switch_to_window(window[-1])
time.sleep(5)
next_num=re.findall("autoff",browser.page_source)
video_time=re.findall("\'0\'\,\'3\',\'(.*?)\'\,\'5",browser.page_source)
tr_id=re.findall('id="(autoff.*?)">',browser.page_source)
print(len(next_num))
print(video_time)
print(tr_id)
forg,m inzip(tr_id,video_time) :
xpath_code = '//*[@id="'+ str(g) + '"]/td[4]/a/img'watched_id = browser.find_element_by_xpath('//*[@id="'+ str(g) + '"]/td[3]').text
print(watched_id) //增加一个判断、判断该视频是否已学习完
ifwatched_id == "否":
browser.find_element_by_xpath(xpath_code).click()
# 延迟100秒lesson_timeout = int(str(m).split(".")[0]) * 60+ int(str(m).split(".")[1]) + 100print(lesson_timeout)
time.sleep(lesson_timeout)
browser.back()
time.sleep(1)
browser.switch_to_alert().accept()
time.sleep(3)
browser.find_element_by_xpath('/html/body/div[2]/div[1]/ul/li[2]/a/span').click()
time.sleep(3)
python selenium 刷课_基于Python和selenium的内蒙古继续教育网---刷课相关推荐
- python电影推荐算法_基于Python的电影推荐算法
原标题:基于Python的电影推荐算法 第一步:收集和清洗数据 数据链接:https://grouplens.org/datasets/movielens/ 下载文件:ml-latest-small ...
- python人脸识别库_基于Python的face_recognition库实现人脸识别
Python Python开发 Python语言 基于Python的face_recognition库实现人脸识别 一.face_recognition库简介 face_recognition是Pyt ...
- python多叉树遍历_基于Python的多叉树遍历算法
[ 综直厘翹 S 赛理 ) 信息记录材料 2019 年 5 月第 20 卷第 5 期 基于 Python 的多叉树遍历算法 钱雨波 , 王金祥 ( 指导老师 ) ( 延边大学 吉林 延边 1 3300 ...
- 基于python的房地产数据分析_基于Python的数据分析
转载 | CSDN 编辑 | 雷课小雷 下面来介绍一下基于Python的数据分析,主要介绍数据分析的概念.数据分析流程.Python优势.常用模块的用途以及使用Python进行数据分析的学习方法及步骤 ...
- python数据分析毕业论文摘要_基于python的毕业论文怎么写?
谢邀! 基于python的在线支付网站的设计与实现,这个问题如果放在公司的话,还是一个挺大层面的东西!且听我娓娓道来~ 1.基于Python,那首先你要会Python基础 2.网站,那你要会前端,至少 ...
- python兼职平台信号处理_基于Python的数字信号处理初步
作者:许欢 来源:EETOP 行者无疆(论坛usrname:ICNO.1) 的博客 Python 是目前的热门语言,一直觉得掌握一门编程语言对作为搞技术的来说还是很有必要的,结合工作中能用到的一些数据 ...
- 大学python论文2000字_基于python的毕业论文怎么写?
谢邀! 基于python的在线支付网站的设计与实现,这个问题如果放在公司的话,还是一个挺大层面的东西!且听我娓娓道来~ 1.基于Python,那首先你要会Python基础 2.网站,那你要会前端,至少 ...
- python深度神经网络量化_基于Python建立深度神经网络!你学会了嘛?
原标题:基于Python建立深度神经网络!你学会了嘛? 图1 神经网络构造的例子(符号说明:上标[l]表示与第l层:上标(i)表示第i个例子:下标i表示矢量第i项) 单层神经网络 图2 单层神经网络示 ...
- 用python做炒股软件-python程序源码_基于python的炒股软件
股票模拟交易系统设计与实现 不但能够进行界面的设计,还可以实现各个窗口的关联,通过WPF实现和其余窗口的关联,而且WPF中的类不但能够和其中一个窗口进行关联,还可以跟许多功能操作接口,WPF在对窗口对 ...
- 用python做双人五子棋_基于python的socket实现单机五子棋到双人对战
基于python的socket实现单机五子棋到双人对战,供大家参考,具体内容如下 本次实验使用python语言.通过socket进行不同机器见的通信,具体可以分为以下四步:1.创建ServerSock ...
最新文章
- 常见排序算法:希尔排序
- 理清Python网络编程
- 修改输入框placeholder的默认样式
- logstash windows
- 线性代数应该这样讲(二)
- 前端开发者的福音!通过拖拽就可生成Vue代码的平台来了!
- 448. Find All Numbers Disappeared in an Array645. Set Mismatch
- 组合学讲义 李乔(2ed)-习题1.1-6组合恒等式题解
- HDU.1007 Quoit Design
- 远程登录(Telnet)的配置
- 77GHz毫米波雷达快速chirp信号技术(三):测角原理
- 2021好物推荐!简易画图软件分享
- PHP简单在线二维码生成工具源码
- Ubuntu查看显卡型号
- 无线键鼠接收器配对怎么就那么难?简直就是浪费
- 怎么做浪漫表白二维码?给喜欢的人制作一个二维码
- php繁体转为简体的函数,繁体中文转换为简体中文的PHP函数_php
- 如何考上复旦大学研究生
- 618买什么蓝牙耳机最划算?四款高品质蓝牙耳机测评
- 优秀的海外住宅代理该从哪几个角度判断?