成绩登统
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