首先,声明该代码脚本仅供参考与借鉴,任何使用该脚本进行牟利或者其他非法途径使用,本人保留追究法律责任的最终权利。
本脚本是基于Python与selenium实现河北干部网络学院自动化登录与学习,在使用过程中无需人为干预,即可实现全自动挂机学习,并且可以进行超级倍速播放,对小白极其友好!毕竟小编也是小白嘛!
接下来,上图!
是不是使用教程简单明了,但是在脚本使用前,需要安装谷歌相关的软件及驱动,Chromedriver,小编会把代码及相关软件放到文章结尾,供大家使用与参考。
接下来,上代码!
# mashuai 制作@ qq:21194524
#河北干部网络学院 专题网班 全自动学习
#selenium + python 实现 WEB 自动化
from selenium import webdriver
import time
import pyautogui
import os
import datetime
import schedule
from selenium.webdriver.common.by import By
print("This script was produced by Ma Shuai and is copyrighted")
print("本脚本由 Mashuai 进行制作并持有版权")
print("有任何问题请联系作者 qq:21194524")
print("您好,欢迎使用 河北干部网络学院 全自动学习脚本")
#输入用户名
username=input("请输入您的用户名:")
#输入用户密码
pwd=input("请输入您的用户密码:")
browser = webdriver.Chrome() # 实例化对象
url = 'http://www.hebgb.gov.cn/'# 河北干部网络学院 网页链接
browser.get(url)
browser.maximize_window() #最大化页面
#进行用户名 密码的自动化填充
browser.find_element(By.ID,"username").send_keys(username)
browser.find_element(By.ID,"pwd").send_keys(pwd)
#延迟一秒
time.sleep(1)
#填写完成后自动点击进行登录
browser.find_element(By.CLASS_NAME,"login_btn").click()
realname = browser.find_element(By.ID,"realname").text
print("欢迎您,",realname,"请查看您是否已经成功登录,如果密码错误请手动进行更改")
time.sleep(1)
3.首先判断是否已经成功报名 专题网班 ,如果没有报名就手动浏览器报名,报名成功如果能够检测到课程即可继续点击,然后进入相关视频观看的界面。
browser.find_element(By.XPATH,'/html/body/div/div[1]/div[2]/ul/li[3]/a').click()
try:
browser.find_element(By.XPATH,'/html/body/div[3]/div[2]/div[2]/div/div[1]/div[2]/a').click()
except:
print("检测到学习已经全部完成或者未选择学习内容,请关闭运行中的程序,手动查看并更改")
browser.quit()
try:
browser.find_element(By.XPATH,'/html/body/div[3]/div[2]/div[3]/div/div[4]/div[1]/a/span') #查看页面是否有元素
except:
print("检测到学习已经全部完成或者未选择学习内容,请关闭运行中的程序,手动查看并更改")
browser.quit()
time.sleep(1)
undonelesson = browser.find_element(By.XPATH,'/html/body/div[3]/div[2]/div[3]/div/div[4]/div[1]/a/span').text
#初步赋值
undonelesson_1=undonelesson
#输出未学完课程数量
print("未学习课程还剩:",undonelesson,"即将开始学习")
#分割线输入
def print_line(char):
print(char*50)
print_line("-")
browser.find_element(By.CLASS_NAME,'hover_btn').click()
# 隐形等待网页加载
browser.implicitly_wait(5)
#点击进入学习
browser.switch_to.window(browser.window_handles[-1])
browser.find_element(By.CLASS_NAME,'user_choise').click()
# 引入Javascript脚本进行全自动倍速播放
browser.execute_script("document.querySelector('video').playbackRate = 16.0")
#定时检测课程参数是否发生改变
def job():
global undonelesson
global undonelesson_1
#切换浏览器窗口,准备进行条件判断
browser.switch_to.window(browser.window_handles[0])
browser.refresh()
try:
browser.find_element(By.XPATH,'/html/body/div[3]/div[2]/div[3]/div/div[4]/div[1]/a/span') #查看页面是否有元素
except:
print("检测到学习已经全部完成,请关闭运行中的程序")
browser.quit()
#切换浏览器窗口,确保倍速学习不间断
browser.switch_to.window(browser.window_handles[-1])
browser.execute_script("document.querySelector('video').playbackRate = 16.0")
browser.switch_to.window(browser.window_handles[0])
undonelesson_1=browser.find_element(By.XPATH,'/html/body/div[3]/div[2]/div[3]/div/div[4]/div[1]/a/span').text
#条件判断
if undonelesson_1!=undonelesson:
browser.refresh()
undonelesson=undonelesson_1
print(datetime.datetime.strftime(datetime.datetime.now(),'%Y-%m-%d %H:%M:%S'))
print("未学习课程还剩:",undonelesson_1,"正在学习")
#分割线输入
def print_line(char):
print(char*50)
print_line("-")
browser.find_element(By.CLASS_NAME,'hover_btn').click()
# 隐形等待网页加载
browser.implicitly_wait(5)
#点击进入学习
browser.switch_to.window(browser.window_handles[-1])
browser.find_element(By.CLASS_NAME,'user_choise').click()
# 引入Javascript脚本进行全自动倍速播放
browser.execute_script("document.querySelector('video').playbackRate = 16.0")
schedule.every(10).seconds.do(job)
while True:
schedule.run_pending()
time.sleep(1)
#保证持续运行
os.system("pause")
完整代码如下:
# mashuai 制作@ qq:21194524
#河北干部网络学院 专题网班 全自动学习
#selenium + python 实现 WEB 自动化
from selenium import webdriver
import time
import pyautogui
import os
import datetime
import schedule
from selenium.webdriver.common.by import By
print("This script was produced by Ma Shuai and is copyrighted")
print("本脚本由 Mashuai 进行制作并持有版权")
print("有任何问题请联系作者 qq:21194524")
print("您好,欢迎使用 河北干部网络学院 全自动学习脚本")
#输入用户名
username=input("请输入您的用户名:")
#输入用户密码
pwd=input("请输入您的用户密码:")
browser = webdriver.Chrome() # 实例化对象
url = 'http://www.hebgb.gov.cn/'# 河北干部网络学院 网页链接
browser.get(url)
browser.maximize_window() #最大化页面
#进行用户名 密码的自动化填充
browser.find_element(By.ID,"username").send_keys(username)
browser.find_element(By.ID,"pwd").send_keys(pwd)
#延迟一秒
time.sleep(1)
#填写完成后自动点击进行登录
browser.find_element(By.CLASS_NAME,"login_btn").click()
realname = browser.find_element(By.ID,"realname").text
print("欢迎您,",realname,"请查看您是否已经成功登录,如果密码错误请手动进行更改")
time.sleep(1)
browser.find_element(By.XPATH,'/html/body/div/div[1]/div[2]/ul/li[3]/a').click()
try:
browser.find_element(By.XPATH,'/html/body/div[3]/div[2]/div[2]/div/div[1]/div[2]/a').click()
except:
print("检测到学习已经全部完成或者未选择学习内容,请关闭运行中的程序,手动查看并更改")
browser.quit()
try:
browser.find_element(By.XPATH,'/html/body/div[3]/div[2]/div[3]/div/div[4]/div[1]/a/span') #查看页面是否有元素
except:
print("检测到学习已经全部完成或者未选择学习内容,请关闭运行中的程序,手动查看并更改")
browser.quit()
time.sleep(1)
undonelesson = browser.find_element(By.XPATH,'/html/body/div[3]/div[2]/div[3]/div/div[4]/div[1]/a/span').text
#初步赋值
undonelesson_1=undonelesson
#输出未学完课程数量
print("未学习课程还剩:",undonelesson,"即将开始学习")
#分割线输入
def print_line(char):
print(char*50)
print_line("-")
browser.find_element(By.CLASS_NAME,'hover_btn').click()
# 隐形等待网页加载
browser.implicitly_wait(5)
#点击进入学习
browser.switch_to.window(browser.window_handles[-1])
browser.find_element(By.CLASS_NAME,'user_choise').click()
# 引入Javascript脚本进行全自动倍速播放
browser.execute_script("document.querySelector('video').playbackRate = 16.0")
#定时检测课程参数是否发生改变
def job():
global undonelesson
global undonelesson_1
#切换浏览器窗口,准备进行条件判断
browser.switch_to.window(browser.window_handles[0])
browser.refresh()
try:
browser.find_element(By.XPATH,'/html/body/div[3]/div[2]/div[3]/div/div[4]/div[1]/a/span') #查看页面是否有元素
except:
print("检测到学习已经全部完成,请关闭运行中的程序")
browser.quit()
#切换浏览器窗口,确保倍速学习不间断
browser.switch_to.window(browser.window_handles[-1])
browser.execute_script("document.querySelector('video').playbackRate = 16.0")
browser.switch_to.window(browser.window_handles[0])
undonelesson_1=browser.find_element(By.XPATH,'/html/body/div[3]/div[2]/div[3]/div/div[4]/div[1]/a/span').text
#条件判断
if undonelesson_1!=undonelesson:
browser.refresh()
undonelesson=undonelesson_1
print(datetime.datetime.strftime(datetime.datetime.now(),'%Y-%m-%d %H:%M:%S'))
print("未学习课程还剩:",undonelesson_1,"正在学习")
#分割线输入
def print_line(char):
print(char*50)
print_line("-")
browser.find_element(By.CLASS_NAME,'hover_btn').click()
# 隐形等待网页加载
browser.implicitly_wait(5)
#点击进入学习
browser.switch_to.window(browser.window_handles[-1])
browser.find_element(By.CLASS_NAME,'user_choise').click()
# 引入Javascript脚本进行全自动倍速播放
browser.execute_script("document.querySelector('video').playbackRate = 16.0")
schedule.every(10).seconds.do(job)
while True:
schedule.run_pending()
time.sleep(1)
#保证持续运行
os.system("pause")
相关浏览器驱动Chromedriver与浏览器安装包如下:
**链接:**https://pan.baidu.com/s/1Bst7vkgEM66Rzx7eJAkdPg
提取码:mlp6
**Chromedriver:**https://chromedriver.storage.googleapis.com/index.html
Chromedriver选择103.0.5060.xx安装即可