Eswlnk Blog Eswlnk Blog
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈
  • 注册
  • 登录
首页 › 代码发布 › 脚本分享:某教育挂机刷课脚本

脚本分享:某教育挂机刷课脚本

Eswlnk的头像
Eswlnk
2023-02-07 1:21:09
脚本分享:某教育挂机刷课脚本-Eswlnk Blog
智能摘要 AI
本文介绍了一个用于重庆继续教育平台挂机学习的Selenium脚本。该脚本主要用于自动登录和完成课程学习,但可能存在一些小Bug,且不具备加速功能。脚本通过模拟用户操作,点击课程链接进入学习页面,并在学习过程中每隔10分钟刷新一次以避免被检测到。学习完成后,脚本会自动关闭页面并切换回主窗口继续下一个课程的学习。代码较为简陋,适合短期使用。

用selenium编的挂机脚本,可能里面有点小BUG,但是程序总体能跑起来,满足挂分需求。无加速功能,只能挂机!!!!时间比较短,代码比较粗糙,目标:ChongQing继续教育挂机

脚本分享:某教育挂机刷课脚本-Eswlnk Blog

脚本代码

import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By

options = Options()
options.add_argument('–-incognito')
options.add_argument('--disable-infobars')
options.add_argument('--start-maximized')
options.add_argument("--no-sandbox")
options.add_argument("--disable-gpu")           # 防止崩溃,规避bug

browser = webdriver.Chrome(options=options)
browser.implicitly_wait(30)
def login():
    """
    登录
    """
    browser.get("https://uat1.cqrspx.cn/portal/login")
    if browser.find_element(By.ID, 'userName'):         #用户名
        browser.find_element(By.ID, 'userName').send_keys("")
    if browser.find_element(By.ID, 'passWord'):         # 密码
        browser.find_element(By.ID, 'passWord').send_keys("")

     input("登录成功后继续...")
def courselearning():
    """
    课程学习
    """
    browser.find_element(By.XPATH, '//*[@id="image-style-1-1670463052660613113120"]/div[2]/div[3]/div/div[1]/div/div/div').click()
    windows = browser.window_handles
    browser.switch_to.window(windows[-1])
    browser.find_element(By.XPATH, '//*[@id="searchBar"]/section/div/div[2]/section/div[2]/section[1]/div/section[1]/img').click()
    while True:
        time.sleep(3)
        progress = browser.find_element(By.CLASS_NAME, 'progress-text').text
        print(f'当前学习进度【{progress}】')
        if progress == '100%':
            break
            print('学习完毕')
        browser.find_element(By.XPATH, '//*[@id="searchBar"]/section/div/div[4]/div/div[1]/div/div[3]').click()     #切换未完成课程
        course = browser.find_element(By.XPATH, '//*[@id="pane-MUST"]/div/div/div[1]/div/div[1]')        # 顺序学习
        course_name = course.text
        print(f'正在学习:{course_name}')
        course.click()
        new_window = browser.window_handles
        browser.switch_to.window(new_window[-1])
        browser.switch_to.frame('aliPlayerFrame')
        chapters = browser.find_elements(By.CLASS_NAME, 'first-line')
         print(f'共有{len(chapters)}节')
        i = 1
        for chapter in chapters:

            print(f'开始学习第{i}节')
            i += 1
            try:
                if chapter.find_element(By.CLASS_NAME, 'finish-tig'):       # 判断小节学习状态
                    print('已完成')
                    continue
            except:
                pass
            try:
                chapter.click()         # 播放未学习小节
            except:
                break

            time.sleep(10)
            current_time = browser.find_element(By.CLASS_NAME, 'current-time').text     # 当前学习进度
            end_time = browser.find_element(By.CLASS_NAME, 'duration').text     # 获取课程总时间
            if len(current_time) == 5:                  # 时间格式转换成秒
                current = int(current_time[0:2]) * 60 + int(current_time[3:5])
            else:
                current = int(current_time[0:2]) * 60 * 60 + (int(current_time[3:5]) * 60) + int(current_time[6:8])
            if len(end_time) == 5:
                end = int(end_time[0:2]) * 60 + int(end_time[3:5])
            else:
                end = int(end_time[0:2]) * 60 * 60 + (int(end_time[3:5]) * 60) + int(end_time[6:8])
            wait_time = end - current       # 计算播放时长并拆分每10分钟刷新一次
            print(f'时长:{wait_time}秒')
            rg = wait_time // 600
            # print(f'刷新:{rg}次')
            yu = wait_time % 600
            for i in range(rg):
                time.sleep(598)
                browser.refresh()       # 刷新网页防止验证
                browser.switch_to.frame('aliPlayerFrame')
                time.sleep(3)
                browser.find_element(By.CLASS_NAME, 'outter').click()

            try:
                if chapter.find_element(By.CLASS_NAME, 'finish-tig'):       # 判断小节学习状态
                    print('已完成')
                    continue
            except:
                pass
            time.sleep(yu)

        browser.close()         # 学习完成,关闭页面
        browser.switch_to.window(windows[-1])

本站默认网盘访问密码:1166
本站默认网盘访问密码:1166
声明:本站原创文章文字版权归本站所有,转载务必注明作者和出处;本站转载文章仅仅代表原作者观点,不代表本站立场,图文版权归原作者所有。如有侵权,请联系我们删除。
python脚本
0
0
Eswlnk的头像
Eswlnk
一个有点倒霉的研究牲站长
赞赏
如何利用Python执行PHP代码
上一篇
Linux操作系统实验:模块编程
下一篇

评论 (0)

请登录以参与评论
现在登录
    发表评论

猜你喜欢

  • 小工具开发之EdgeOne免费计划兑换工具
  • 研究日志:ERA5-Land数据解析问题
  • 开发日志:解决Windows平台无法使用Metview解析数据的难题
  • 「攻防对抗」从上传漏洞到Getshell | 一次完整的渗透过程
  • 「日志记录」逆向必应翻译网页版API实现免费调用
Eswlnk的头像

Eswlnk

一个有点倒霉的研究牲站长
1108
文章
319
评论
679
获赞

随便看看

「资源分享」FreqTrade | 具有现成策略的高频加密交易机器人
2022-10-31 17:16:14
wordpress网站优化之美化文章页列表框
2021-06-10 0:52:37
WordPress评论框添加UserAgent(浏览器和操作系统信息)
2021-05-30 22:04:03

文章目录

专题展示

WordPress53

工程实践37

热门标签

360 AI API CDN java linux Nginx PDF PHP python SEO Windows WordPress 云服务器 云服务器知识 代码 免费 安全 安卓 工具 开发日志 微信 微软 手机 插件 攻防 攻防对抗 教程 日志 渗透分析 源码 漏洞 电脑 破解 系统 编程 网站优化 网络 网络安全 脚本 苹果 谷歌 软件 运维 逆向
  • 首页
  • 知识库
  • 地图
Copyright © 2023-2025 Eswlnk Blog. Designed by XiaoWu.
本站CDN由 壹盾安全 提供高防CDN安全防护服务
蜀ICP备20002650号-10
页面生成用时 0.862 秒   |  SQL查询 37 次
本站勉强运行:
友情链接: Eswlnk Blog 网站渗透 倦意博客 特资啦!个人资源分享站 祭夜博客 iBAAO壹宝头条
  • WordPress142
  • 网络安全64
  • 漏洞52
  • 软件52
  • 安全48
现在登录
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈