python_批量修改密码综评

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')

 

posted @ 2019-06-28 12:05  wangway  阅读(393)  评论(0编辑  收藏  举报