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+selenium实现发送一封带附件的邮件的更多相关文章
- [Xcode 实际操作]八、网络与多线程-(7)使用MessageUI框架,创建并发送一封带有附件的邮件
目录:[Swift]Xcode实际操作 本文将演示如何使用MessageUI框架,创建并发送一封带有附件的邮件. 使用邮件编辑视图控制器(MFMailComposeViewController)实现邮 ...
- 利用Python+163邮箱授权码发送带附件的邮件
背景 前段时间写了个自动爬虫的脚本,定时在阿里云服务器上执行,会从某个网站上爬取链接保存到txt文本中,但是脚本不够完善,我需要爬虫完毕之后通过邮件把附件给我发送过来,之前写过一个<利用Pyth ...
- java发送带附件的邮件
/** * java发送带附件的邮件 * 周枫 * 2013.8.10 */ package com.dsideal.Util; import javax.mail.*; import javax.m ...
- [Java] JavaMail 发送 html 格式、带附件的邮件
本案例演示发送 html 格式,可带附件的邮件发送.发送纯文本邮件的例子可参照上一篇博文JavaMail 简单案例. EmailHelper, Email 的帮助类,向帮助类提供 SMTP 服务器域名 ...
- 使用JavaMail发送带附件的邮件
所需jar包 链接:http://pan.baidu.com/s/1dFo4cDz 密码:akap 工具类: package com.javamail.utils; import java.util. ...
- C#发送带附件的邮件的代码
如下的代码是关于C#发送带附件的邮件的代码. MailMessage m = new MailMessage();m.Subject = "File attachment!";m. ...
- [SpringBoot] - 发送带附件的邮件
<!--发送email依赖--> <dependency> <groupId>org.springframework.boot</groupId> &l ...
- python +selenium的 里面还自带case 然后也有生成报告的模板
https://github.com/huahuijay/python-selenium2这个就是 python +selenium的 里面还自带case 然后也有生成报告的模板
- python 发送带附件的邮件
特别注意的地方:filespart.add_header("Content-Disposition","attachment",filename=file_na ...
随机推荐
- k8s集群上线web静态网站
环境准备 一台部署节点,一台master节点,还有两台节点node1,node2 完好的k8s集群环境 思路1: 在node1和node2节点上通过宿主机与容器之间目录映射和端口映射上线静态网站(或动 ...
- JVM监控工具之JProfiler
一.简介 JProfiler是一款Java的性能监控工具.可以查看当前应用的对象.对象引用.内存.CPU使用情况,线程运行情况(阻塞.等待等),同时可以查找哪个对象占用的内存比较多.哪个对象占用CPU ...
- 基于Python对象引用、可变性和垃圾回收详解
基于Python对象引用.可变性和垃圾回收详解 下面小编就为大家带来一篇基于Python对象引用.可变性和垃圾回收详解.小编觉得挺不错的,现在就分享给大家,也给大家做个参考. 变量不是盒子 在示例所示 ...
- 【FICO系列】SAP ABAP&FI FI/CO接口:待更新的不一致的FI/CO凭证标题数据
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP ABAP&FI ...
- SIRIM上海,http://www.sirim-global.com
SIRIM上海 http://www.sirim-global.com
- 20191128 Spring Boot官方文档学习(9.10)
9.10.数据库初始化 可以使用不同的方式初始化SQL数据库,具体取决于堆栈是什么.当然,如果数据库是一个单独的进程,您也可以手动执行.建议使用单一机制进行模式生成. 9.10.1.使用JPA初始化数 ...
- 第二周总结.Java
本学期开始学习Java课程了,首先我先说说学习Java的感觉吧,它不像C语言程序设计,但是又有语言开发的共同点.学Java语言重点是面向对象的程序设计,更加的适应生活需要和计算机开发的需要. 总的来讲 ...
- Mybatis-学习笔记(4)1对1、1对多、多对多
1.1对1 有2种方式对内嵌Bean设值: 1>关联查询就一条语句.使用association关键字,直接将嵌套对象的映射表的字段赋值内嵌对象. <association property ...
- navicat和Pycharm的连接
要安装好Mysql,并且实现了Mysql和Navicat的连接: 2.连接界面如下:点击连接,然后点击MySQL就可以看到如下界面 3. 然后就出现新建连接的设置,连接名自己起,用户名和密码和在MyS ...
- honpeyhonepy
2019.09.15 简历编辑功能: 2019.09.23 爬虫功能(智联招聘) 2.1 AI同步功能 2019.10.08 登录功能(包括普通用户登录.管理员.招聘人员) 2019.11.10 鉴权 ...