成绩登统

2021-07-02  本文已影响0人  Noza_ea8f

查询卷面成绩和形考成绩有哪些科目不可以录入

from selenium import webdriver
import time
import pandas as pd
from lib import user_info


# 等待提示
def wait_key():
    while True:
        message = input('请输入“空格键”继续:')
        if message == ' ':
            break
        print('你输入的是 ' + message + '!')


# 判断是否有弹出框
def alert_is_present(browser):
    try:
        alert = browser.switch_to.alert
        print(alert.text)
        return alert
    except:
        return False


path = 'data/2021-7/scores.xlsx'

df = pd.read_excel(io=path, sheet_name='唯一试卷号', converters={'试卷号': str})
paper_id_ls = df['试卷号'].tolist()
# print(paper_id_ls)
# for i in paper_id_ls:
#     print(i)

browser = webdriver.Firefox()
url = 'http://121.28.25.166/StationWeb/pages/common/frameset.jsp'
browser.get(url)
# 登录
browser.find_element_by_name('j_username_temp').send_keys(user_info.username)
browser.find_element_by_name('j_password').send_keys(user_info.pswd)
browser.find_element_by_name('txtschool').send_keys('1300300')
# browser.find_element_by_name('veryCode').click()
wait_key()
# paper_id_ls = ['7908', '1905']
for paper_id in paper_id_ls:
    handles = browser.window_handles  # 获得所有窗口句柄
    browser.switch_to.window(handles[-1])  # 取最新的
    browser.switch_to.parent_frame()  # 返回父框架
    browser.switch_to.frame('main')  # 定位到main框架
    browser.switch_to.frame('Info')  # Info
    # todo 输入试卷号
    time.sleep(3)
    browser.find_element_by_name('paperId').clear()
    browser.find_element_by_name('paperId').send_keys(paper_id)
    browser.find_element_by_name('method').click()
    time.sleep(5)

    # 如果有弹出框 点击确定
    if alert_is_present(browser):
        browser.switch_to.alert.accept()
        print(paper_id + ' 录入失败,相应的计划开考科目没有形考项目或没报考记录!')
        with open('无法录入科目.txt', 'a+') as f:
            f.write(paper_id + ' 录入失败,相应的计划开考科目没有形考项目或没报考记录!' + '\n')
    else:
        print(paper_id + ' 可以录入!')
        with open('可以录入科目.txt', 'a+') as f:
            f.write(paper_id + ' 可以录入!' + '\n')
        continue
上一篇下一篇

猜你喜欢

热点阅读