from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
import time
url = 'http://www.baidu.com'
login_text = '登录'
account = '11111111111'
pwd = '22222222222'
def get_ele_times(driver, times, func):
return WebDriverWait(driver,times).until(func,message="超时")
def openBrower():
webdriver_handle = webdriver.Firefox()
return webdriver_handle
def loadurl(handle, url):
handle.get(url)
handle.maximize_window()
def findElement(d, arg):
if 'test_id' in arg:
# 点击“登录”
test_id = get_ele_times(d, 10, lambda d: d.find_element_by_link_text(arg['test_id']))
test_id.click()
time.sleep(5)
# 找到元素 “用户名登录”
loginOne = d.find_element_by_xpath(arg['loginonexpath'])
loginOne.click()
time.sleep(5)
# 用户名和密码
userEle = d.find_element_by_id(arg['userid'])
pwdEle = d.find_element_by_id(arg['pwdid'])
# 提交登录按钮
loginEle = d.find_element_by_id(arg['loginid'])
return userEle, pwdEle, loginEle
def sendVals(eletuple, arg):
listkey = ['uname', 'pwd']
i = 0
for key in listkey:
eletuple[i].send_keys('')
eletuple[i].clear()
eletuple[i].send_keys(arg[key])
i+=1
eletuple[2].click()
def login_test():
d = openBrower()
loadurl(d, url)
ele_dict = {'test_id':login_text, 'loginonexpath': '//*[@id="TANGRAM__PSP_11__footerULoginBtn"]', 'userid':'TANGRAM__PSP_11__userName', 'pwdid':'TANGRAM__PSP_11__password', 'loginid':'TANGRAM__PSP_11__submit'}
account_dict = {'uname':account, 'pwd':pwd}
ele_tuple = findElement(d, ele_dict)
sendVals(ele_tuple, account_dict)
if name == 'main':
login_test()
浙公网安备 33010602011771号