首先,声明该代码脚本仅供参考与借鉴,任何使用该脚本进行牟利或者其他非法途径使用,本人保留追究法律责任的最终权利。
本脚本是基于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安装即可
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
我有一个用户工厂。我希望默认情况下确认用户。但是鉴于unconfirmed特征,我不希望它们被确认。虽然我有一个基于实现细节而不是抽象的工作实现,但我想知道如何正确地做到这一点。factory:userdoafter(:create)do|user,evaluator|#unwantedimplementationdetailshereunlessFactoryGirl.factories[:user].defined_traits.map(&:name).include?(:unconfirmed)user.confirm!endendtrait:unconfirmeddoenden
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。
什么是ruby的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht
导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的
C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.
本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称