webinfo.txt
url=http://www.maiziedu.com/
text_id=登錄
userid=id_account_l
pwdid=id_password_l
loginid=login_btn
userinfo.txtaccount=18665933615 pwd=abc123456
account=123 pwd=abc123456
[email protected] pwd=z5
[email protected] pwd=123456
account= pwd=abc123456
account=18665933615 pwd=
userdata.pydef get_webinfo():
web_info = {}
f = open(r'E:\project\demo\mokuaihua\webinfo.txt','r',encoding='utf-8')
infos = f.readlines()
f.close()
for info in infos:
info = info.strip()
# print(info)
web_info[info.split('=')[0]] = info.split('=')[1]
return web_info
def get_userinfo():
user_list = []
#user_info = {}
f = open(r'E:\project\demo\mokuaihua\userinfo.txt', 'r', encoding='utf-8')
infos = f.readlines()
f.close()
print(infos)
for info in infos:
user_info = {}
info = info.strip().split(' ')
user_info[info[0].split('=')[0]] = info[0].split('=')[1]
user_info[info[1].split('=')[0]] = info[1].split('=')[1]
user_list.append(user_info)
#print(user_list)
return user_list
if __name__ == '__main__':
webinfo = get_webinfo()
print(webinfo)
userinfo = get_userinfo()
print(userinfo)
用例
from selenium import webdriver
import time
from selenium.webdriver.support.ui import WebDriverWait
#從文件中導入數據
from userdata import get_webinfo,get_userinfo
def waituntil_load(driver,times,func):
return WebDriverWait(driver,times).until(func)
def openBrower():
driver = webdriver.Chrome()
return driver
def openUrl(driver,url):
driver.get(url)
driver.maximize_window()
def findElement(driver,arg):#參數是字點
# driver.find_element_by_xpath('/html/body/div[3]/div[2]/div[3]/div/div').click() #關閉彈窗
waituntil_load(driver, 15, lambda driver: driver.find_element_by_xpath('/html/body/div[3]/div[2]/div[3]/div/div')).click()
if 'text_id' in arg.keys():
element_login = waituntil_load(driver,15,lambda driver:driver.find_element_by_link_text(arg['text_id']))
element_login.click()
time.sleep(3)
userEle = driver.find_element_by_id(arg['userid'])
pwdEle = driver.find_element_by_id(arg['pwdid'])
loginEle = driver.find_element_by_id(arg['loginid'])
return userEle,pwdEle,loginEle
def sendValues(eletuple,arg):#arg爲登錄數據,格式爲字典
listkey = ['account','pwd']
i = 0
for key in listkey:
eletuple[i].clear()
eletuple[i].send_keys(arg[key])
i += 1
eletuple[-1].click()
def checkResult(driver,i):
try:
a = driver.find_element_by_id('login-form-tips')
print('第%d個賬號登錄失敗,提示信息爲:%s'%(i+1,a.text))
except:
print('第%d個賬號登陸成功'%(i+1))
def login_test(ele_dict,user_list):
driver = openBrower()
openUrl(driver,ele_dict['url'])
ele_tuple = findElement(driver,ele_dict)
for i in range(len(user_list)):
sendValues(ele_tuple,user_list[i])
time.sleep(3)
checkResult(driver,i)
time.sleep(3)
if __name__ == '__main__':
'''
ele_dict = {'url': 'http://www.maiziedu.com/',
'text_id': '登錄',
'userid': 'id_account_l',
'pwdid': 'id_password_l',
'loginid': 'login_btn',
#'account' : '18665933615',
#'pwd' : 'abc123456',
#'errorinfo' : '賬號或者密碼錯誤,請重新輸入'
}
user_list = [{'account' : '18665933615','pwd' : 'abc123456'},
{'account': '123', 'pwd': 'abc123456'},
{'account' : '[email protected]','pwd' : 'zu615'}]'''
ele_dict = get_webinfo()
print(ele_dict)
user_list = get_userinfo()
print(user_list)
login_test(ele_dict,user_list)
第1個賬號登錄失敗,提示信息爲:賬號或者密碼錯誤,請重新輸入第2個賬號登錄失敗,提示信息爲:該賬號格式不正確
第3個賬號登陸成功