網易郵箱實戰
阿新 • • 發佈:2021-08-13
1.網易郵箱實戰
from selenium import webdriver import time as t driver=webdriver.Chrome() driver.maximize_window() driver.get('https://mail.163.com/')
(1)帳號為空的錯誤提示資訊
先進入iframe框架
driver.switch_to.frame(0)
輸入密碼
driver.find_element_by_name('password').send_keys('liuxun0223') t.sleep(3)
點選登入
driver.find_element_by_id('dologin').click() t.sleep(3)
斷言帳號為空時是否正確
divText=driver.find_element_by_class_name('ferrorhead') assert divText.text=='請輸入帳號' t.sleep(3) driver.quit()
(2)密碼為空
先進入iframe框架
driver.switch_to.frame(0)
輸入密碼
driver.find_element_by_name('email').send_keys('liuxun0223') t.sleep(2)
點選登入
driver.find_element_by_id('dologin').click() t.sleep(2)
斷言密碼為空時是否正確
divText=driver.find_element_by_class_name('ferrorhead') assert divText.text=='請輸入密碼' t.sleep(3) driver.quit()
(3)帳號和密碼都為空
先進入iframe框架
driver.switch_to.frame(0)
點選登入
driver.find_element_by_id('dologin').click() t.sleep(2)
斷言帳號和密碼都為空時是否正確
divText=driver.find_element_by_class_name('ferrorhead') assert divText.text=='請輸入帳號' t.sleep(3) driver.quit()
(4)註冊網易郵箱
獲取當前視窗
nowHandler=driver.current_window_handle
點選註冊網易郵箱
driver.find_element_by_link_text('註冊網易郵箱').click()
獲取所有視窗
allHandler=driver.window_handles
迴圈所有視窗
for handler in allHandler:
判斷是否是當前視窗
if handler!=nowHandler:
切換到新的視窗
driver.switch_to.window(handler)
獲取當前頁面的地址
url = driver.current_url
判斷當前頁面的地址是否是以'utm_source=163mail'結束
print(url.endswith('utm_source=163mail')) assert url.endswith('utm_source=163mail')==True
t.sleep(3)
driver.quit()
(5)忘記密碼
先進入iframe框架
driver.switch_to.frame(0)
獲取當前視窗
nowHandler=driver.current_window_handle
點選忘記密碼
driver.find_element_by_link_text('忘記密碼?').click() t.sleep(3)
獲取所有視窗
allHandler=driver.window_handles
迴圈所有視窗
for handler in allHandler:
判斷是否是當前視窗
if handler!=nowHandler:
切換到新的視窗
driver.switch_to.window(handler)
獲取當前網頁地址並判斷當前地址是否是以'verifyAccount'結束
url=driver.current_url print(url.endswith('verifyAccount')) assert url.endswith('verifyAccount')==True t.sleep(3)
點選下一步按鈕
driver.find_element_by_xpath('//*[@id="app"]/div/div[2]/div/div[2]/form/button').click()
斷言帳號為空時是否正確並退出瀏覽器
divText=driver.find_element_by_xpath('//*[@id="app"]/div/div[2]/div/div[2]/form/div[1]/div/div[2]') assert divText.text=='請輸入帳號' t.sleep(3) driver.quit()
(6)十天內免登入
先進入iframe框架
driver.switch_to.frame(0)
勾選十天內免登入按鈕
rightText=driver.find_element_by_class_name('un-login')
rightText.click()
t.sleep(2)
assert rightText.is_selected()==True
t.sleep(3)
driver.quit()
(7)郵箱官方APP
獲取到當前視窗 nowHandler=driver.current_window_handle 點選郵箱官方APP driver.find_element_by_xpath('//*[@id="lgAppLink"]').click() allHandler=driver.window_handles for handler in allHandler: if handler!=nowHandler: driver.switch_to.window(handler) url=driver.current_url print(url.endswith('gotodownload')) assert url.endswith('gotodownload')==False t.sleep(3) driver.quit()