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设计】。

相关文章

Python K最近邻从原理到实现的方法

Python K最近邻从原理到实现的方法

本来这篇文章是5月份写的,今天修改了一下内容,就成今天发表的了,CSDN这是出BUG了还是什么改规则了。。。 引文:决策树和基于规则的分类器都是积极学习方法(eager learner)...

详解python中的index函数用法

1.函数的创建 def fun():        #定义 print('hellow') #函数的执行代码 retrun 1 #返回值 fun()...

Windows上使用Python增加或删除权限的方法

在使用Python在 Windows 平台上开发的时候, 有时候我们需要动态增加或删除用户的某些权限, 此时我们可以通过 AdjustTokenPrivileges API 来实现。 比...

python频繁写入文件时提速的方法

问题背景:有一批需要处理的文件,对于每一个文件,都需要调用同一个函数进行处理,相当耗时。 有没有加速的办法呢?当然有啦,比如说你将这些文件分成若干批,每一个批次都调用自己写的python...

python 3.6 tkinter+urllib+json实现火车车次信息查询功能

python 3.6 tkinter+urllib+json实现火车车次信息查询功能

一、概述 妹子工作时需要大量地查询火车车次至南京的信息,包括该车次到达站(南京站or南京南站)、到达时间、出发时间等,然后根据这些信息做下一步工作。 版本结束,趁着间歇期,帮她弄了个简易...