随笔:python+selenium+unittest用qq邮箱上传文件并发送邮件

本文介绍了一种利用Python编程语言结合Selenium和Unittest框架实现自动化发送带有附件的邮件的方法。通过具体代码示例,详细展示了如何配置Chrome浏览器选项,登录QQ邮箱,撰写邮件并上传附件,最后发送邮件的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

随笔:python+selenium+unittest用qq邮箱上传文件并发送邮件

#coding = utf-8

import unittest
from selenium import webdriver
from time import sleep


class qqemail(unittest.TestCase):
    def setUp(self):
        print("调用qq邮箱发送邮件")

    def testEmail(self):
        # 屏蔽自动化受控提示 && 开发者提示
        self.option = webdriver.ChromeOptions()
        self.option.add_experimental_option("excludeSwitches", ['enable-automation', 'load-extension'])
        # 屏蔽'保存密码'提示框
        self.prefs = {}
        self.prefs["credentials_enable_service"] = False
        self.prefs["profile.password_manager_enabled"] = False
        self.option.add_experimental_option("prefs", self.prefs)
        # 打开谷歌浏览器
        self.driver = webdriver.Chrome(options=self.option)
        # 窗口最大化
        self.driver.maximize_window()
        sleep(5)
        self.driver.get("https://mail.qq.com")
        sleep(5)
        self.driver.switch_to.frame('login_frame')
        sleep(2)
        self.driver.find_element_by_css_selector("a#switcher_plogin").click()
        sleep(2)
        self.driver.find_element_by_xpath("//input[@id='u']").send_keys("username")
        self.driver.find_element_by_css_selector("input#p").send_keys("password")
        self.driver.find_element_by_css_selector("input.btn").click()
        sleep(5)
        self.driver.find_element_by_xpath("//a[text()='写信']").click()
        sleep(5)
        self.driver.switch_to.frame('mainFrame')
        print(self.driver.find_element_by_xpath("//a[@id='to_btn']").text)
        #print(self.driver.find_element_by_css_selector("a#to_btn").text)

        self.driver.find_element_by_css_selector("div#toAreaCtrl>div>input.js_input").send_keys("收件人邮箱")
        sleep(2)
        self.driver.find_element_by_xpath("//div[@class='div_txt']//input[@id='subject']").send_keys("测试邮件发送")
        #上传附件
        self.driver.find_element_by_xpath("//div[@class='input_title']//input[@type='file']").send_keys(r'G:\pythonjb\cloudAItest\testrunner\test测试报告1.html')
        sleep(10)
        self.driver.find_element_by_css_selector("a[name='sendbtn']").click()
        sleep(5)
        t1 = self.driver.find_element_by_css_selector("b#sendinfomsg").text
        print(t1)
        sleep(1)
        self.assertEqual("您的邮件已发送",t1)
        sleep(2)


    def tearDown(self):
        print("邮件发送完成")
        self.driver.quit()

    if __name__ == '__main__':
        unittest.main()



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值