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


Posted in Python onDecember 10, 2019

这篇文章主要介绍了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 SQLAlchemy一对一,一对多的使用方法实践
Feb 10 Python
Python的Django框架中URLconf相关的一些技巧整理
Jul 18 Python
分享几道你可能遇到的python面试题
Jul 24 Python
python使用Apriori算法进行关联性解析
Dec 21 Python
Python中property属性实例解析
Feb 10 Python
Python统计单词出现的次数
Apr 04 Python
Python实现随机生成手机号及正则验证手机号的方法
Apr 25 Python
浅谈Python在pycharm中的调试(debug)
Nov 29 Python
对python内置map和six.moves.map的区别详解
Dec 19 Python
Python3网络爬虫中的requests高级用法详解
Jun 18 Python
python 实现线程之间的通信示例
Feb 14 Python
Python 打印自己设计的字体的实例讲解
Jan 04 Python
opencv设置采集视频分辨率方式
Dec 10 #Python
django框架forms组件用法实例详解
Dec 10 #Python
django框架auth模块用法实例详解
Dec 10 #Python
django框架中间件原理与用法详解
Dec 10 #Python
Django2 连接MySQL及model测试实例分析
Dec 10 #Python
python实现将视频按帧读取到自定义目录
Dec 10 #Python
django连接mysql数据库及建表操作实例详解
Dec 10 #Python
You might like
c#中的实现php中的preg_replace
2009/12/21 PHP
php 错误处理经验分享
2011/10/11 PHP
php防注入及开发安全详细解析
2013/08/09 PHP
PHP+Mysql基于事务处理实现转账功能的方法
2015/07/08 PHP
php实现的数字验证码及数字运算验证码
2015/07/30 PHP
激活 ActiveX 控件
2006/10/09 Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
2012/11/01 Javascript
分享Javascript中最常用的55个经典小技巧
2013/11/29 Javascript
jquery实现可自动判断位置的弹出层效果代码
2015/10/12 Javascript
js数组去重的5种算法实现
2015/11/04 Javascript
AngularJS 服务详细讲解及示例代码
2016/08/17 Javascript
前端框架Vue.js中Directive知识详解
2016/09/12 Javascript
微信小程序 教程之注册页面
2016/10/17 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
2016/11/09 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
JavaScript实现元素滚动条到达一定位置循环追加内容
2017/12/28 Javascript
基于vue.js无缝滚动效果
2018/01/25 Javascript
angular基于ng-alain定义自己的select组件示例
2018/02/23 Javascript
JS获取子节点、父节点和兄弟节点的方法实例总结
2018/07/06 Javascript
vue+element+Java实现批量删除功能
2019/04/08 Javascript
详解Vue 的异常处理机制
2020/11/30 Vue.js
[01:01]青春无憾,一战成名——DOTA2全国高校联赛开启
2018/02/25 DOTA
Python赋值语句后逗号的作用分析
2015/06/08 Python
Python多线程实现同步的四种方式
2017/05/02 Python
Python3 适合初学者学习的银行账户登录系统实例
2017/08/08 Python
对python numpy数组中冒号的使用方法详解
2018/04/17 Python
Python利用pandas计算多个CSV文件数据值的实例
2018/04/19 Python
python钉钉机器人运维脚本监控实例
2019/02/20 Python
Python叠加矩形框图层2种方法及效果
2020/06/18 Python
tensorflow下的图片标准化函数per_image_standardization用法
2020/06/30 Python
澳大利亚拥有最好的家具和家居用品在线目的地:Nestz
2019/02/23 全球购物
安德玛比利时官网:Under Armour比利时
2019/08/28 全球购物
在校生汽车维修实习自我鉴定
2013/09/19 职场文书
好邻里事迹材料
2014/01/16 职场文书
辞职信怎么写?
2019/05/21 职场文书