本帖最后由 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的内蒙古继续教育网---刷课相关推荐

  1. python电影推荐算法_基于Python的电影推荐算法

    原标题:基于Python的电影推荐算法 第一步:收集和清洗数据 数据链接:https://grouplens.org/datasets/movielens/ 下载文件:ml-latest-small ...

  2. python人脸识别库_基于Python的face_recognition库实现人脸识别

    Python Python开发 Python语言 基于Python的face_recognition库实现人脸识别 一.face_recognition库简介 face_recognition是Pyt ...

  3. python多叉树遍历_基于Python的多叉树遍历算法

    [ 综直厘翹 S 赛理 ) 信息记录材料 2019 年 5 月第 20 卷第 5 期 基于 Python 的多叉树遍历算法 钱雨波 , 王金祥 ( 指导老师 ) ( 延边大学 吉林 延边 1 3300 ...

  4. 基于python的房地产数据分析_基于Python的数据分析

    转载 | CSDN 编辑 | 雷课小雷 下面来介绍一下基于Python的数据分析,主要介绍数据分析的概念.数据分析流程.Python优势.常用模块的用途以及使用Python进行数据分析的学习方法及步骤 ...

  5. python数据分析毕业论文摘要_基于python的毕业论文怎么写?

    谢邀! 基于python的在线支付网站的设计与实现,这个问题如果放在公司的话,还是一个挺大层面的东西!且听我娓娓道来~ 1.基于Python,那首先你要会Python基础 2.网站,那你要会前端,至少 ...

  6. python兼职平台信号处理_基于Python的数字信号处理初步

    作者:许欢 来源:EETOP 行者无疆(论坛usrname:ICNO.1) 的博客 Python 是目前的热门语言,一直觉得掌握一门编程语言对作为搞技术的来说还是很有必要的,结合工作中能用到的一些数据 ...

  7. 大学python论文2000字_基于python的毕业论文怎么写?

    谢邀! 基于python的在线支付网站的设计与实现,这个问题如果放在公司的话,还是一个挺大层面的东西!且听我娓娓道来~ 1.基于Python,那首先你要会Python基础 2.网站,那你要会前端,至少 ...

  8. python深度神经网络量化_基于Python建立深度神经网络!你学会了嘛?

    原标题:基于Python建立深度神经网络!你学会了嘛? 图1 神经网络构造的例子(符号说明:上标[l]表示与第l层:上标(i)表示第i个例子:下标i表示矢量第i项) 单层神经网络 图2 单层神经网络示 ...

  9. 用python做炒股软件-python程序源码_基于python的炒股软件

    股票模拟交易系统设计与实现 不但能够进行界面的设计,还可以实现各个窗口的关联,通过WPF实现和其余窗口的关联,而且WPF中的类不但能够和其中一个窗口进行关联,还可以跟许多功能操作接口,WPF在对窗口对 ...

  10. 用python做双人五子棋_基于python的socket实现单机五子棋到双人对战

    基于python的socket实现单机五子棋到双人对战,供大家参考,具体内容如下 本次实验使用python语言.通过socket进行不同机器见的通信,具体可以分为以下四步:1.创建ServerSock ...

最新文章

  1. 常见排序算法:希尔排序
  2. 理清Python网络编程
  3. 修改输入框placeholder的默认样式
  4. logstash windows
  5. 线性代数应该这样讲(二)
  6. 前端开发者的福音!通过拖拽就可生成Vue代码的平台来了!
  7. 448. Find All Numbers Disappeared in an Array645. Set Mismatch
  8. 组合学讲义 李乔(2ed)-习题1.1-6组合恒等式题解
  9. HDU.1007 Quoit Design
  10. 远程登录(Telnet)的配置
  11. 77GHz毫米波雷达快速chirp信号技术(三):测角原理
  12. 2021好物推荐!简易画图软件分享
  13. PHP简单在线二维码生成工具源码
  14. Ubuntu查看显卡型号
  15. 无线键鼠接收器配对怎么就那么难?简直就是浪费
  16. 怎么做浪漫表白二维码?给喜欢的人制作一个二维码
  17. php繁体转为简体的函数,繁体中文转换为简体中文的PHP函数_php
  18. 如何考上复旦大学研究生
  19. 618买什么蓝牙耳机最划算?四款高品质蓝牙耳机测评
  20. 优秀的海外住宅代理该从哪几个角度判断?

热门文章

  1. CMOS电路中闩锁效应产生的原因、过程以及后果
  2. QXDM工具使用说明
  3. 版本号命名规范及原则
  4. 使用wireshark抓包分析实战
  5. Vivado下的仿真入门
  6. 电脑qq浏览器怎么滚动截长图_电脑上如何滚动截屏长图?这样做最简单
  7. pygame的安装与使用
  8. 斗鱼赴美上市 穷途末路还是绝处逢生?
  9. 海康监控设备如何修改IP地址
  10. “华为杯”第十八届中国研究生数学建模竞赛一等奖经验分享