import os
import time
import random
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

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

if __name__ == '__main__':
    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

    while True:
        try:
            # 使用WebDriverWait等待元素出现,最长等待10秒
            element = WebDriverWait(browser, 10).until(
                EC.presence_of_element_located((By.CLASS_NAME, 'score-box'))
            )
            element.clear()
            element.send_keys(str(random.randint(94, 99)))
            time.sleep(1)
        except:
            continue

代码解释:

  1. 导入库: 导入必要的库,包括 selenium 用于浏览器自动化, random 用于生成随机数。
  2. check_browser() 函数: 检查是否已经有一个浏览器实例在运行并开启了调试端口。
  3. 主程序:
    • 如果没有运行浏览器,则启动一个新的 Chrome 实例,并开启调试端口。
    • 连接到浏览器实例。
    • 循环切换浏览器窗口,直到找到标题包含 '内蒙古开放大学' 的窗口。
    • 进入无限循环,尝试查找 class 属性为 'score-box' 的元素:
      • 如果找到该元素,则清除其内容,并填写一个 94 到 99 之间的随机数。
      • 如果没有找到该元素,则继续循环等待。

注意事项:

  • 该代码需要根据实际情况修改,例如修改浏览器驱动的路径、登录网站的网址、评分框的class属性等。
  • 使用自动化脚本进行评分操作可能违反网站的使用条款,请谨慎使用。
Python Selenium自动化: 自动填写评分框

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

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