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 ...
随机推荐
- 10 oracle bbed恢复ora-600[4193][4194]的错误
ORA ] 错误解析 ERROR: Format: ORA ] [a] [b] VERSIONS: versions 6.0 to 12.1 DESCRIPTION: A mismatch has b ...
- Java ——继承
本节重点思维导图 面向对象三大特性:封装.继承.多态 面向对象编程的第一原则:面向接口编程 继承 代码利用的方式,子类与父类之间的关系 语法 访问控制修饰符 class 类名 extends父类名{ ...
- 问题记录 | deepin15.10重装nvidia驱动及cuda
问题描述: nvidia-smi也有显示,显卡驱动是在的,而且nvcc显示出来的cuda版本9.0也没错,不是9.1.不知道问题所在,索性重装全部. sudo tee /proc/acpi/bbswi ...
- 语言I—2019秋作业02
这个作业属于那个课程 这个作业要求在哪里 我在这个课程的目标是 这个作业在那个具体方面帮助我实现目标 参考文献 C语言程序设计I https://edu.cnblogs.com/campus/zswx ...
- [转帖]IIS7.5应用程序池集成模式和经典模式的区别介绍
IIS7.5应用程序池集成模式和经典模式的区别介绍 之前转帖过一个 但是感觉不如这个说的细: https://www.jb51.net/article/31010.htm 关注脚本之家微信公众号(jb ...
- CentOS下搭建docker+.net core
运行环境: CentOS 7.0 容器:Docker 1.13.1 .Net Core版本: .NET Core 2.1,安装详见 CentOS 7 下安装.NET Core SDK 2.1 1.安装 ...
- [LeetCode] 130. 被围绕的区域
题目链接 : https://leetcode-cn.com/problems/surrounded-regions/ 题目描述: 给定一个二维的矩阵,包含 'X' 和 'O'(字母 O). 找到所有 ...
- Python 矩阵(线性代数)
Python 矩阵(线性代数) 这里有一份新手友好的线性代数笔记,是和深度学习花书配套,还被Ian Goodfellow老师翻了牌. 笔记来自巴黎高等师范学院的博士生Hadrien Jean,是针对& ...
- 一、JVM — Java内存区域
Java 内存区域详解 写在前面 (常见面试题) 基本问题 拓展问题 一 概述 二 运行时数据区域 2.1 程序计数器 2.2 Java 虚拟机栈 2.3 本地方法栈 2.4 堆 2.5 方法区 2. ...
- 编辑SE16N表的函数
函数:SE16N_INTERFACE 此外还可以SE16N 输入对应的查询条件后执行debug该变量 GD-SAPEDIT = ‘X’ 和GD-EDIT = ‘X’ 来实现当前SE16N 中该表的编辑