import os
import time
import random
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
import tkinter as tk


def check_browser():

    #检查是否已经打开了浏览器
    try:
        options = Options()
        options.add_experimental_option('debuggerAddress', '127.0.0.1:9527')
        browser = webdriver.Chrome(options=options)
        browser.execute_script('return true')
        return True
    except:
        return False

def run_program():
    if not check_browser():
        os.system(r'start chrome --remote-debugging-port=9527 --user-data-dir="D:\评阅用"')

    options = Options()
    options.add_experimental_option('debuggerAddress', '127.0.0.1:9527')
    browser = webdriver.Chrome(options=options)

    while True:
        for handle in browser.window_handles:
            browser.switch_to.window(handle)
            if '内蒙古开放大学' in browser.title:
                print('用户登录成功!')
                break
        else:
            time.sleep(1)
            continue
        break

    progress_label.config(text='正在运行程序...')
    progress_label.update()

    while True:
        try:
            score_box = browser.find_element(By.CLASS_NAME, 'score-box')
            score_input = score_box.find_element(By.TAG_NAME, 'input')
            score_input.clear()
            score_input.send_keys(str(random.randint(94, 99)))
            time.sleep(1)
            submit_button = browser.find_element(By.CLASS_NAME, 'nav-text')
            submit_button.click()
            time.sleep(2)

        except:
            continue
        else:
            if '已到最后' in browser.page_source:
                print('已到最后,暂停程序')
                progress_label.config(text='已到最后,暂停程序')
                progress_label.update()
                break
            time.sleep(1)

#创建GUI界面
window = tk.Tk()
window.title('自动评分程序')
window.geometry('300x200')

start_button = tk.Button(window, text='开始运行', command=run_program)
start_button.pack(pady=20)

progress_label = tk.Label(window, text='')
progress_label.pack()

window.mainloop()

本脚本使用 Python 和 Selenium 库自动评分内蒙古开放大学的课程,提高评分效率。

脚本功能:

  • 浏览器启动检测: 检查是否已经打开了浏览器,如果没有则自动启动 Chrome 浏览器并进入调试模式。
  • 用户登录验证: 脚本会验证用户是否已登录内蒙古开放大学平台,确保评分操作可以正常进行。
  • 随机评分: 脚本会随机生成 94-99 之间的评分,并填写到评分框中。
  • 进度提示: 脚本会通过 GUI 界面显示程序运行状态,并在评分完成后提示用户程序已暂停。

使用方法:

  1. 确保已安装 Python 和 Selenium 库。
  2. 将脚本保存为 .py 文件。
  3. 运行脚本,点击“开始运行”按钮。
  4. 脚本会自动启动 Chrome 浏览器,并完成评分操作。

注意事项:

  • 脚本需要在 Chrome 浏览器调试模式下运行,请确保 Chrome 浏览器已开启调试模式。
  • 脚本可能会受到网站改版的影响,请根据实际情况进行调整。
  • 请勿将脚本用于恶意目的。

代码说明:

  • check_browser() 函数用于检查是否已经打开了浏览器。
  • run_program() 函数包含了脚本的主要逻辑,包括启动浏览器、登录验证、随机评分、进度提示等功能。
  • tkinter 库用于创建 GUI 界面。

希望本脚本能够帮助您提高评分效率!


原文地址: https://www.cveoy.top/t/topic/fYyd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录