本文来源吾爱破解论坛
本帖最后由 lntuer 于 2019-10-15 14:30 编辑 1.png (67.13 KB, 下载次数: 0)
下载附件
保存到相册
2.png (34.45 KB, 下载次数: 0)
下载附件
保存到相册
3.png (118.26 KB, 下载次数: 0)
下载附件
保存到相册
一、介绍
岳阳市专业技术人员远程教育网址:http://yyzjpx.17el.cn/
二、功能
①基于Python和selenium半自动化登陆、pyautogui模块;
②自动学习该课程目录下所有课程和学习;
③可以后台观看视频并静音播放
代码如下:
[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 谢谢。