首页后端开发Python【python】重庆继续教育挂机刷课

【python】重庆继续教育挂机刷课

时间2023-07-05 20:26:02发布访客分类Python浏览591
导读:用selenium编的挂机脚本,可能里面有点小BUG,但是程序总体能跑起来,满足挂分需求。 无加速功能,只能挂机!!!! 时间比较短,代码比较粗糙import time from selenium import webdriver from...

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

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])

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

python教育browsertime登录

若转载请注明出处: 【python】重庆继续教育挂机刷课
本文地址: https://pptw.com/jishu/290727.html
html textarea只读 简单几行Python代码调用GPT3的APIkey

游客 回复需填写必要信息