from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException,StaleElementReferenceException,ElementNotVisibleException,TimeoutException,WebDriverException
import time
import os
import sys
dic={}
fp='data.txt'
with open(fp,'r') as file_object:
lines=set(file_object.readlines())
for index,line in enumerate(lines):
oneline=line.strip()
if "=" in oneline:
acc=oneline.split('=')[0]
password=oneline.split('=')[1]
dic[acc]=password
#print(acc+' '+password)
home=''
print('>>>>请您在10秒内手动输入验证码,单击登陆!\n')
dr=webdriver.Chrome()
dr.get(home)
dr.switch_to.frame('iFrame1')
user=dr.find_element_by_name('j_username')
user.send_keys('')
pswd=dr.find_element_by_name('j_password')
pswd.send_keys('')
login=dr.find_element_by_class_name('go-login')
login.click()
time.sleep(10)
dr.switch_to.frame('iframepage')
#选择年份 和班级
gradestr=''
slt=dr.find_element_by_id('njQuery')
slt.click()
time.sleep(2)
selector=Select(slt)
selector.select_by_visible_text(gradestr)
#selector.select_by_value(gradestr)
time.sleep(2)
classstr=''
slt=dr.find_element_by_id('bjQuery')
slt.click()
time.sleep(2)
selector=Select(slt)
selector.select_by_visible_text(classstr)
#selector.select_by_value(classstr)
time.sleep(2)
#移动焦点 作一次无意义单击 取消下拉框的选中状态
op=dr.find_element_by_xpath('//th[@class="sorting_disabled text-left"]')
op.click()
time.sleep(1)
query=dr.find_element_by_xpath('//*[@id="usersTable"]/tbody/tr[3]/td[2]/button[1]')
query.click()
time.sleep(2)
chks=dr.find_elements_by_xpath('//input[@name="checkUid"]')
print(len(chks))
pageindex=1
while True:
n=0
for k in dic.keys():
try:
chk=dr.find_element_by_xpath('//input[@value='+k+']')
n=n+1
except:
continue
time.sleep(1)
acc=k#chk.get_attribute("value") print(acc)
newpass=dic[acc]
print('正在初始化 第'+str(pageindex)+'页 第'+str(n)+'个学生的密码!')
print(newpass)
chk.click()
modify=dr.find_element_by_xpath('//*[@id="infoBtnDiv"]/button[3]')
modify.click()
time.sleep(2)
inputnew=dr.find_element_by_xpath('//*[@id="pd"]')
inputnew.send_keys(newpass)
time.sleep(2)
save=dr.find_element_by_xpath('//*[@id="saveChange"]')
save.click()
time.sleep(2)
confirm=dr.find_element_by_xpath('//button[text()="确定"]')
confirm.click()
time.sleep(2)
ok=dr.find_element_by_xpath('//button[text()="OK"]')
ok.click()
time.sleep(2)
nextpage=dr.find_element_by_xpath('//a[text()='+str(pageindex)+']')
nextpage.click()
time.sleep(3)
if n==10:
n=0
pageindex=pageindex+1
print(dr.title)
#dr.switch_to.frame('iframepage')
if pageindex==7:
break
print('modify student password')