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('582xxxxxxx@qq.com','xiexxxxxxx')            

'''输入收件人'''
xiezhiming.input_recipients('582xxxxxx@qq.com')        #调用收件人的函数

'''输入主题的名字'''
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()  # 点击发送按钮
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值