循环登录代码
while True:
if driver.find_element_by_class_name("loaderIcon"):
print("网页加载中")
time.sleep(1)
elif driver.find_element_by_class_name("ut-tab-bar"):
print("登陆成功")
return True
elif driver.find_element_by_class_name("btn-standard"):
driver.find_element_by_class_name("btn-standard").click()
WebDriverWait(driver, 1).until(EC.frame_to_be_available_and_switch_to_it((By.ID, "btnLogin")))
if driver.find_element_by_id("btnLogin"):
print("找到 btnLogin")
break
elif driver.find_element_by_id("email"):
driver.find_element_by_id("email").send_keys(username)
driver.find_element_by_id("password").send_keys(pwd)
driver.find_element_by_id("btnLogin").click()
elif driver.find_element_by_id("btnSendCode"):
print("等待输入验证码")
elif driver.find_element_by_class_name("general-error"):
print("登陆错误!!!")
break
必须要吧每个find_element_xxx 封装函数,内部try catch处理,代码量增加不少
while True:
if 是否加载中():
print("网页加载中")
time.sleep(1)
elif 登陆成功():
print("登陆成功")
return True
elif 是否登录界面():
driver.find_element_by_class_name("btn-standard").click()
WebDriverWait(driver, 1).until(EC.frame_to_be_available_and_switch_to_it((By.ID, "btnLogin")))
if driver.find_element_by_id("btnLogin"):
print("找到 btnLogin")
break
elif 是否输入用户名密码界面():
driver.find_element_by_id("email").send_keys(username)
driver.find_element_by_id("password").send_keys(pwd)
driver.find_element_by_id("btnLogin").click()
elif 是否验证码界面():
print("等待输入验证码")
elif 登陆错误(1):
print("登陆错误!!!")
break