选择管理班

# coding=utf-8
from selenium import webdriver
from selenium.webdriver.support.select import Select

from bk.lib import user_info


def wait_key():
    while True:
        message = input('核对无误请输入“空格”:')
        if message == ' ':
            break
        print('你输入的是 ' + message + '!')


# 打开网址的URL
base_url = "http://121.28.25.166/SRTVUWeb/pages/common/frameset.jsp";
usr_name = user_info.username  # 用户名
usr_pwd = user_info.password  # 密码
# 打开Firefox浏览器
driver = webdriver.Chrome()
driver.implicitly_wait(10)

# 清除所有cookie
driver.delete_all_cookies()
driver.get(base_url)
print(driver.get_cookies())

# 界面默认填充
s1 = driver.find_element_by_name("subschool")  # 获取分校选择框元素
Select(s1).select_by_value("13003")  # 选择选择框value
driver.find_element_by_name("j_username_temp").send_keys(usr_name)  # 输入用户名
driver.find_element_by_name("j_password").send_keys(usr_pwd)  # 输入密码
driver.find_element_by_id("veryCode").click()  # 点击到验证码输入框(验证码获取焦点)
print('手动点击‘修改管理班默认考点!')
# 等待按空格键继续执行
wait_key()


# 获取‘新考点’列表并打印
# 定义选择列表函数,用于获取所有select元素,并生成列表
def select_new():
    global select_list  # 说明列表为全局变量,使得其在函数体外可被调用
    select_list = []  # 初始化,清空列表
    select_name = driver.find_elements_by_tag_name('select')
    for select_i in select_name:
        select_i = select_i.get_attribute("name")
        select_list.append(select_i)
        # print(select_i)
    print('\n')
    select_list = select_list[0:-4]  # 去掉后4位元素,因为后四个元素是多余的
    # print(select_list)


# 自定义修改选择选项函数
def do_select(info):
    for index, xkd_i in enumerate(select_list):
        snew = driver.find_element_by_name(xkd_i)
        text = driver.find_element_by_xpath('/html/body/center/form/table[2]/tbody/tr[{}]/td[7]'.format(index + 2)).text
        if text == '':
            Select(snew).select_by_visible_text(info)


# select_new()
# do_select()
# print('程序结束!')
# 等待按D键继续执行
# wait()


def test():
    ls = []
    for i in range(2, 22):
        a = driver.find_element_by_xpath('/html/body/center/form/table[2]/tbody/tr[{}]/td[7]'.format(i)).text
        ls.append(a)
    print(ls)
    print(len(ls))


# 定位到框架main
driver.switch_to.parent_frame()  # 返回父框架
driver.switch_to.frame('main')
driver.switch_to.frame('Info')  # 定位到main框架的子框架Info
# 如果存在多页,则按空格键继续执行
while True:
    print('定位到框架main完毕!')
    info = input('请输入新考点名称:')
    select_new()
    do_select(info)
    print('按空格键继续!')
    # 等待按空格键继续执行
    wait_key()

你可能感兴趣的:(选择管理班)