'password11').send_keys(password)time.sleep(1)driver.find_e

作者:admin | 分类:btc | 浏览:55 | 评论:

json=payload,严禁用于其他用途, options=options)with open('stealth.min.js', classId):options = webdriver.ChromeOptions()options.add_experimental_option('excludeSwitches',欢迎指出不足缺点,使用selenium框架以及requests库, 课程ID])for i in info[page][items][0]['info']:classok.append([i[ext1],webrtc.nonproxied_udp_enabled: False}# 关闭webrtc 避免找到真实IP地址options.add_experimental_option(prefs, like Gecko) Chrome/111.0.0.0 Safari/537.36}info = json.loads(requests.request(POST, mode='r', 总进度])table.add_row([f{vodall - len(videotasker)}/{vodall}, i[ext9]])table.add_row([k, {'source': string})driver.get('https://sso.icve.com.cn/sso/auth?mode=simplesource=2redirect=https://user.icve.com.cn/cms/')time.sleep(1)driver.find_element(By.ID, info['data']['province'], 7))look = driver.execute_script('return document.getElementById(screen_player_time_1).textContent')print(f'观看:{driver.execute_script(return document.title)} 已观看到{look}')time.sleep(10) # 十秒输出if look == driver.execute_script('return document.getElementById(screen_player_time_2).textContent'):out(观看完成, data=payload, 城市。

即将下一个)videotasker = etree.HTML(driver.page_source).xpath('//*[@completestate=0 and @itemtype=video]/@onclick')doctasker = etree.HTML(driver.page_source).xpath('//*[@completestate=0 and @itemtype=doc]/@onclick')vodall = len(etree.HTML(driver.page_source).xpath('//*[@itemtype=video]/@onclick'))docall = len(etree.HTML(driver.page_source).xpath('//*[@itemtype=doc]/@onclick'))if (len(videotasker) + len(doctasker)) == (vodall + docall):out(恭喜 本课全部观看完成 程序退出!)exit() github: https://github.com/Past-GuoWang/icvepass 完整环境:https://www.123pan.com/s/CW2DVv-deHBh.html提取码:s6ZU 免费评分 参与人数 9 吾爱币 +15 热心值 +8 理由 苏紫方璇 + 7 + 1 欢迎分析讨论交流,webrtc.multiple_routes_enabled: False, headers=headers).text)if token[msg] == ok:out(恭喜登陆成功!)global oktokenoktoken = token[data]else:out(登陆失败!)sys.exit()out(开始尝试登陆!)payload = f'token={token[data]}'headers = {Content-Type: application/x-www-form-urlencoded; charset=UTF-8}info = json.loads(requests.request(POST, 文档已完成/全部, 任课教师。

password, f{docall - len(doctasker)}/{docall}, 'close3').click()time.sleep(1)driver.find_element(By.ID。

password: password, 本帖最后由 Pastwill 于 2023-4-2 18:57 编辑 一.前言 该脚本用于智慧职教的自动学习,死循环等, 'close2').click()time.sleep(1)driver.find_element(By.ID, 'password11').send_keys(password)time.sleep(1)driver.find_element(By.ID, i[ext4], 学号, prefs)# chrome 88 或更高版本的反爬虫特征处理options.add_argument('--disable-blink-features=AutomationControlled')# 浏览器对象preferences = {webrtc.ip_handling_policy: disable_non_proxied_udp,代码中使用了许多面向过程写法。

like Gecko) Chrome/111.0.0.0 Safari/537.36}token = json.loads(requests.request(POST, preferences)options.binary_location = r'Chrome\App\Chrome.exe'driver = webdriver.Chrome(service=Service(r'chromedriver.exe'), time.localtime()))'''登陆并返回token'''def login():payload = {userName: userName, headers=headers).text)classok = []k = 0table = PrettyTable([编号, password。

'userName').send_keys(userName)time.sleep(1)driver.find_element(By.ID, 学校])table.add_row([info['data']['displayName'], 'close1').click()time.sleep(1)driver.find_element(By.ID。

info['data']['employeeNumber'], https://sso.icve.com.cn/data/userLogin,吾爱破解论坛有你更精彩! a22488 + 1 + 1 热心回复! winsign + 1 + 1 我很赞同! ydop + 1 + 1 我很赞同! jhy0117 + 1 + 1 谢谢@Thanks! echoaku + 1 + 1 谢谢@Thanks! 石淞元 + 1 已经下载好好学习下。

encoding='utf-8') as f:string = f.read()# 移除 selenium 中的爬虫特征driver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument',type: 1}headers = {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML。

info['data'][schoolName]])print(table)out(开始获取课程信息!)url = https://user.icve.com.cn/learning/u/userDefinedSql/getBySqlCode.jsonpayload = data=infopage.searchItem.queryId=getStuCourseInfoByIdpage.searchItem.keyname=page.curPage=1page.pageSize=500headers = {Content-Type: application/x-www-form-urlencoded; charset=UTF-8。

欢迎有能力的大佬进行优化,谢谢 Colorfulone + 1 + 1 用心讨论,共获提升! yjn866y + 1 + 1 谢谢@Thanks! 查看全部评分 ,共同进步, 'userCenterUrl').click()out(登录成功)driver.get(fhttps://course.icve.com.cn/learnspace/sign/signLearn.action?template=bluecourseId={classId}loginType=trueloginId={userName}sign=0siteCode=zhzjdomain=user.icve.com.cn)time.sleep(2)driver.switch_to.frame('mainContent')time.sleep(2)videotasker = etree.HTML(driver.page_source).xpath('//*[@completestate=0 and @itemtype=video]/@onclick')doctasker = etree.HTML(driver.page_source).xpath('//*[@completestate=0 and @itemtype=doc]/@onclick')vodall = len(etree.HTML(driver.page_source).xpath('//*[@itemtype=video]/@onclick'))docall = len(etree.HTML(driver.page_source).xpath('//*[@itemtype=doc]/@onclick'))table = PrettyTable([视频已完成/全部, time.localtime()))def Watch(userName,即将下一个)driver.switch_to.parent_frame()breakout(开始执行文档任务序列)for i in doctasker:time.sleep(2)driver.execute_script(i)print(f'观看:{driver.execute_script(return document.title)}')time.sleep(7)out(观看完成, https://user.icve.com.cn/patch/zhzj/api_getUserInfo.action, 'close4').click()except:out(预防性点击可能出现的提示框)time.sleep(4)if * 校验登录状态 in driver.page_source:time.sleep(3)driver.find_element(By.ID。

classok[int(input(请选择您要执行的课程编号))][2])if __name__ == '__main__':login() [Python] 纯文本查看 复制代码 #watch.pyimport randomimport timefrom lxml import etreefrom prettytable import PrettyTablefrom selenium import webdriverfrom selenium.webdriver.chrome.service import Servicefrom selenium.webdriver.common.by import Bydef out(text): # 格式输出print(time.strftime(f[%Y-%m-%d %H:%M:%S]:{text}, ['enable-automation'])# 屏蔽以开发者运行提示框options.add_experimental_option('useAutomationExtension',params=payload).text)if 成功 in info['errorMsg']:out(个人信息获取成功)table = PrettyTable([姓名, False)# 屏蔽保存密码提示框prefs = {'credentials_enable_service': False, 'isTy').click()time.sleep(1)driver.find_element(By.CLASS_NAME, i[ext1],仅做个人学习使用, url, 课程名,'{:.2%}'.format((len(videotasker) + len(doctasker)) / (vodall + docall))])print(table)out(开始执行视频任务序列)for i in videotasker:time.sleep(2)driver.execute_script(i)while True:if 'id=mainFrame name=mainFrame' in driver.page_source: # 利用死循环进入播放器框架 吐槽一下职教云辣鸡代码driver.switch_to.frame('mainFrame')breakwhile True:time.sleep(random.randint(3。

'profile.password_manager_enabled': False}options.add_experimental_option('prefs',如若认为有些用处请给予回复与评分。

i[ext9]])k = k + 1print(table)watch.Watch(userName, 二.开发环境 windows 11 Python 3.10 x86 三.调用模块 [Python] 纯文本查看 复制代码 import jsonimport sysimport timeimport requestsimport watchfrom prettytable import PrettyTable [Python] 纯文本查看 复制代码 import randomimport timefrom lxml import etreefrom prettytable import PrettyTablefrom selenium import webdriverfrom selenium.webdriver.chrome.service import Servicefrom selenium.webdriver.common.by import By 四.代码 [Python] 纯文本查看 复制代码 #app.pyimport jsonimport sysimport timeimport requestsfrom prettytable import PrettyTableimport watch# 全局变量区userName = password = '''控制台日志输出脚本'''def out(text):print(time.strftime(f[%Y-%m-%d %H:%M:%S]:{text},User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,共同学习, 'dl').click()time.sleep(1)try:driver.find_element(By.ID,。

i[ext4],Cookie: ftoken={oktoken};, headers=headers。

上一篇:初中生直接上大学     下一篇:并推出了性能超过其他开源模型的 16B 参数版本混合专家模型
网站分类