首页 编程教程正文

基于Python和selenium的岳阳市专业技术人员远程教育学习脚本

piaodoo 编程教程 2020-02-22 22:08:48 1001 0 python教程

本文来源吾爱破解论坛

本帖最后由 lntuer 于 2019-10-15 14:30 编辑

一、介绍
岳阳市专业技术人员远程教育网址:http://yyzjpx.17el.cn/
二、功能
①基于Python和selenium半自动化登陆、pyautogui模块;

1.png (67.13 KB, 下载次数: 0)

下载附件  保存到相册

2019-10-14 17:47 上传


②自动学习该课程目录下所有课程和学习;

2.png (34.45 KB, 下载次数: 0)

下载附件  保存到相册

2019-10-14 17:47 上传


③可以后台观看视频并静音播放

3.png (118.26 KB, 下载次数: 0)

下载附件  保存到相册

2019-10-14 17:48 上传


代码如下:
[Python] 纯文本查看 复制代码
from selenium import webdriver
import pyautogui
import time
import re
import random
username="你的账号"
passwd="你的密码"
login_url='http://yyzjpx.17el.cn'
option = webdriver.ChromeOptions()
option.add_argument('--mute-audio')
browser = webdriver.Chrome(chrome_options=option)
browser.maximize_window()
browser.get(login_url)
browser.implicitly_wait(10)
elem=browser.find_element_by_id("UserName")
elem.clear()
elem.send_keys(username)
time.sleep(1)
elem=browser.find_element_by_id("Password")
elem.clear()
elem.send_keys(passwd)
time.sleep(1)
js_002='return document.getElementsByClassName("login_img")[0].firstElementChild.textContent'
code_num=browser.execute_script(js_002)
elem=browser.find_element_by_id("yzm")
elem.clear()
elem.send_keys(code_num)
time.sleep(3)
elem=browser.find_element_by_id('sub')
elem.click()
time.sleep(3)
browser.get('你要学习的目录URL')
time.sleep(3)
windows = browser.window_handles
browser.switch_to_window(windows[-1])
time.sleep(10)
video_url=re.findall('<a href="(/flex/HXGC_Player.*?sfsc=0)"',browser.page_source)
video_time=re.findall('>总时长:(.*?)</span>',browser.page_source)
video_progress=re.findall('>学习进度:(.*?)%</span>',browser.page_source)
for a,b,c in zip(video_url,video_time,video_progress):
    if c!="100":
        print(c)
        remain_time= int(str(b)[:2]) * 3600 + int(str(b)[3:5]) * 60 + int(str(b)[-2:])
        remain_times=int(remain_time*(1-int(c)/100+0.01))
        unwatch_video_url="http://person.17el.cn"+a
        js_001='document.getElementsByClassName("chapterlist")[{}].firstElementChild.click()'.format(video_time.index(b))
        browser.execute_script(js_001)
        time.sleep(30)
        for video_num in range(1,remain_times):
            try:
                js = 'window.parent.document.getElementById("HXGC_Player").questionPopHandler({},0);'.format(int(random.random())+1)
                browser.execute_script(js)
                print("该课程还有{}秒未学习......".format(remain_times-video_num))
                time.sleep(1)
            except:
                print("无法观测到是否有答题页面……")
        browser.back()
        time.sleep(5)

声明:仅限个人学习使用,严禁商业使用,否则后果自负,如有违规,管理直接删帖!
最后,原创不易,还希望大家可以高抬贵手免费评个分!!!

编辑说明:改进验证码输入方式,不再进行人工输入,由代码自动输入!

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/7680.html

搜索