python selenium实现发送带附件的邮件代码实例

yipeiwu_com6年前Python基础

这篇文章主要介绍了python selenium实现发送带附件的邮件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

163邮件登录首页

登录成功断言是否有退出按钮

点击退出退出登录

代码如下

from selenium import webdriver
import unittest
import time

class VisitSogouByChrome(unittest.TestCase):

  def setUp(self):
    # 启动Chrome浏览器
    self.driver = webdriver.Chrome(executable_path = "e:\\chromedriver.exe")


  def test_sendEmail(self):
    # 访问163邮箱的首页
    self.driver.get("https://mail.163.com/")
    # 打印当前网页的网址
    self.driver.maximize_window()
    #点击密码登录
    self.pwd_link = self.driver.find_element_by_xpath("//a[text()='密码登录']")
    self.pwd_link.click()
    #找到登录框的iframe
    login_input_iframe = self.driver.find_element_by_xpath("//iframe[contains(@id,'x-URS-iframe')]")
    # 切换进登录框的iframe
    self.driver.switch_to.frame(login_input_iframe)

    self.user_name = self.driver.find_element_by_xpath("//input[@name='email']")
    self.pass_wd = self.driver.find_element_by_xpath("//input[@name = 'password']")
    self.login_button =self.driver.find_element_by_xpath("//a[@id ='dologin']")

    #清空用户名
    self.user_name.clear()
    self.user_name.send_keys("ff_gaofeng")
    self.pass_wd.send_keys("XXX")
    self.login_button.click()
    time.sleep(5)

    #点击“写信”button
    self.writer_button = self.driver.find_element_by_xpath("//span[text()='写 信']")
    self.writer_button.click()
    time.sleep(2)

    #输入收件人的邮箱
    self.addressee = self.driver.find_element_by_xpath("//input[contains(@aria-label,'收件人地址输入框')]")
    self.addressee.send_keys('ff_gaofeng@163.com')

    #输入邮件主题
    self.title = self.driver.find_element_by_xpath("//input[contains(@id,'subjectInput')]")
    self.title.send_keys('发给自己的一封邮件')

    #上传文件
    self.uppload_file_link = self.driver.find_element_by_xpath("//input[@type = 'file']")
    #self.uppload_file_link = self.driver.find_element_by_xpath("//a[text()='添加附件']")
    self.uppload_file_link.send_keys(r"D:\1.py")
    time.sleep(5)

    # 切换进入boby的iframe
    #boby_iframe = self.driver.find_element_by_xpath("//iframe[@class='APP-editor-iframe']")
    #self.driver.switch_to.frame(boby_iframe)
    self.driver.switch_to.frame(self.driver.find_element_by_xpath("//iframe[@class='APP-editor-iframe']"))

    # 输入邮件正文内容
    self.body = self.driver.find_element_by_xpath("html/body")
    self.body.send_keys("实现写邮件,上传附件的功能自动化用了。。。。。。。。")
    self.driver.switch_to.default_content()

    #点击“发送”按钮
    self.send_email = self.driver.find_element_by_xpath("//header//span[text()='发送']")
    self.send_email.click()



  def tearDown(self):
    # 退出IE浏览器
    self.driver.quit()

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Flask框架配置与调试操作示例

本文实例讲述了Flask框架配置与调试操作。分享给大家供大家参考,具体如下: 配置管理 复杂的项目需要配置各种环境。如果设置项很少,可以直接硬编码进来,比如下面的方式: app =...

Python求离散序列导数的示例

Python求离散序列导数的示例

有一组4096长度的数据,需要找到一阶导数从正到负的点,和三阶导数从负到正的点,截取了一小段。 394.0 388.0 389.0 388.0 388.0 392.0 39...

基于随机梯度下降的矩阵分解推荐算法(python)

基于随机梯度下降的矩阵分解推荐算法(python)

SVD是矩阵分解常用的方法,其原理为:矩阵M可以写成矩阵A、B与C相乘得到,而B可以与A或者C合并,就变成了两个元素M1与M2的矩阵相乘可以得到M。 矩阵分解推荐的思想就是基于此,将每个...

python实现RabbitMQ的消息队列的示例代码

最近在研究redis做消息队列时,顺便看了一下RabbitMQ做消息队列的实现。以下是总结的RabbitMQ中三种exchange模式的实现,分别是fanout, direct和topi...

Python中shapefile转换geojson的示例

shapefile转换geojson import shapefile import codecs from json import dumps # read the shapefi...