python3 selenium自动化测试 发送QQ邮箱的脚本--升级版,函数的封装和调用方法详解

接着上个博客, [python3 selenium自动化测试 发送QQ邮箱的脚本],我在上个文章基础上说下函数的封装和调用。
将公共部分封装成一个函数,供其他文件调用,达到简化代码作用。搜索代码实例:

demo1.py文件如下代码
from selenium import webdriver
from time import sleep
from demo2 import Login #调用demo2文件中的Login的包

dr=webdriver.Chrome()
dr.get(‘https://mail.qq.com/‘)
sleep(3)
dr.maximize_window()
sleep(3)
xiezhiming = LOgin(dr) #实例化类
xiezhiming.login_email(‘[email protected]’,’xxxxx’) #调用登录的函数
xiezhiming.input_recipients(‘[email protected]’) #调用收件人的函数
xiezhiming.input_theme(‘测试用’) #调用主题的函数
xiezhiming.input_body(‘加油,加油,jamesxie’) #调用正文的函数
xiezhiming.click_send() #调用发送按钮的函数

demo2.py文件如下代码
from selenium import webdriver
from time import sleep
#定义登录的类
class LOgin():
def init(self,dr):
self.dr=dr
#定义登录账号和密码的函数,以后调用
def login_email(self,username,password):
name = self.dr.find_element_by_xpath(‘//*[@name=”login_frame”]’)
self.dr.switch_to.frame(name)
sleep(2)
self.dr.find_element_by_id(‘switcher_plogin’).click()
sleep(2)
self.dr.find_element_by_id(‘u’).send_keys(username)
self.dr.find_element_by_id(‘p’).send_keys(password)
sleep(2)
self.dr.find_element_by_id(‘login_button’).click()
self.dr.switch_to.default_content()
sleep(2)

# 定义收件人的函数,以后调用
def input_recipients(self,adress):
self.dr.find_element_by_id(‘composebtn’).click()
sleep(3)
self.dr.switch_to.frame(‘mainFrame’)
self.dr.find_element_by_xpath(“//*[@id=’toAreaCtrl’]/div[2]/input”).send_keys(adress)
sleep(2)

# 定义主题的函数,以后调用
def input_theme(self,theme):
self.dr.find_element_by_id(‘subject’).send_keys(theme)
self.dr.switch_to.default_content()

#定义正文的函数,以后调用
def input_body(self,body):
self.dr.switch_to.frame(‘mainFrame’)
frame_boby = self.dr.find_element_by_xpath(‘//iframe[@scrolling=”auto”]’)
self.dr.switch_to.frame(frame_boby)
sleep(2)
self.dr.find_element_by_xpath(‘/html/body’).send_keys(body)

#定义发送按钮的函数,以后调用
def click_send(self):
self.dr.switch_to.parent_frame()
sleep(2)
self.dr.find_element_by_name(‘sendbtn’).click() # 点击发送按钮

猜你喜欢

转载自blog.csdn.net/xiezhiming1234/article/details/81701477