selenium3测试126邮箱登录日志
测试邮箱的登录和退出功能
from time import sleep
from selenium import webdriver
from MailClass import Mail
from itertools import islice
import csv
import codecs
from xml.dom.minidom import parse
import json
driver = webdriver.Chrome()
driver.get("http://www.126.com")
driver.implicitly_wait(10)
driver.find_element_by_id("switchAccountLogin").click() ###点击密码登录
mail=Mail(driver)
读取txt文件
####### 读取txt文件
with open("./data_file/user_info.txt",'r') as user_file:
data=user_file.readlines()
for line in data:
user=line[:-1].split(':')
mail.login(user[0],user[1])
读取csv文件
####### 读取csv文件
data = csv.reader(codecs.open('./data_file/user_info.csv', 'rb', 'gbk'))
for line in islice(data,1,None):###第二行才是账号密码
mail.login(line[0],line[1])
读取xml文件
#### 读取xml文件
dom=parse('./data_file/config.xml')
root=dom.documentElement
login_info=root.getElementsByTagName('login')
for login in login_info:
username=login.getAttribute("username")
password=login.getAttribute("password")
mail.login(username,password)
读取json文件
with open("./data_file/user_info.json",'r') as f:
data=f.read()
user_list=json.loads(data)
print(user_list)
for user in user_list:
mail.login(user["username"],user["password"])
退出邮箱
sleep(2)
mail.logout()
driver.quit()
使用Mail 类存放登录和退出动作
class Mail:
def __init__(self,driver):
self.driver=driver
###登录###
def login(self,username,password):
login_frame = self.driver.find_element_by_css_selector('iframe[id^="x-URS-iframe"]')
self.driver.switch_to.frame(login_frame)
self.driver.find_element_by_name("email").clear()
self.driver.find_element_by_name("email").send_keys(username)
self.driver.find_element_by_name("password").clear()
self.driver.find_element_by_name("password").send_keys(password)
self.driver.find_element_by_id("dologin").click()
self.driver.switch_to.default_content()
###退出###
def logout(self):
self.driver.find_element_by_link_text('退出').click()
##参考虫师著 Selenium3自动化测试实战 基于python 语言。