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实现发送一封带附件的邮件的更多相关文章

  1. [Xcode 实际操作]八、网络与多线程-(7)使用MessageUI框架,创建并发送一封带有附件的邮件

    目录:[Swift]Xcode实际操作 本文将演示如何使用MessageUI框架,创建并发送一封带有附件的邮件. 使用邮件编辑视图控制器(MFMailComposeViewController)实现邮 ...

  2. 利用Python+163邮箱授权码发送带附件的邮件

    背景 前段时间写了个自动爬虫的脚本,定时在阿里云服务器上执行,会从某个网站上爬取链接保存到txt文本中,但是脚本不够完善,我需要爬虫完毕之后通过邮件把附件给我发送过来,之前写过一个<利用Pyth ...

  3. java发送带附件的邮件

    /** * java发送带附件的邮件 * 周枫 * 2013.8.10 */ package com.dsideal.Util; import javax.mail.*; import javax.m ...

  4. [Java] JavaMail 发送 html 格式、带附件的邮件

    本案例演示发送 html 格式,可带附件的邮件发送.发送纯文本邮件的例子可参照上一篇博文JavaMail 简单案例. EmailHelper, Email 的帮助类,向帮助类提供 SMTP 服务器域名 ...

  5. 使用JavaMail发送带附件的邮件

    所需jar包 链接:http://pan.baidu.com/s/1dFo4cDz 密码:akap 工具类: package com.javamail.utils; import java.util. ...

  6. C#发送带附件的邮件的代码

    如下的代码是关于C#发送带附件的邮件的代码. MailMessage m = new MailMessage();m.Subject = "File attachment!";m. ...

  7. [SpringBoot] - 发送带附件的邮件

    <!--发送email依赖--> <dependency> <groupId>org.springframework.boot</groupId> &l ...

  8. python +selenium的 里面还自带case 然后也有生成报告的模板

    https://github.com/huahuijay/python-selenium2这个就是 python +selenium的  里面还自带case  然后也有生成报告的模板 

  9. python 发送带附件的邮件

    特别注意的地方:filespart.add_header("Content-Disposition","attachment",filename=file_na ...

随机推荐

  1. 【web前端】面题整理(2)

    今天是520,单身狗在这里祝各位520快乐! DOM节点统计 DOM 的体积过大会影响页面性能,假如你想在用户关闭页面时统计(计算并反馈给服务器)当前页面中元素节点的数量总和.元素节点的最大嵌套深度以 ...

  2. 【Python】关于近期爬虫学习的总结

    写在开头 在之前的三篇文章中,我尝试了使用python爬虫实现的对于特定站点的<剑来>小说的爬取,对于豆瓣的短评的爬取,也有对于爬取的短评数据进行的词云展示,期间运用了不少的知识,现在是时 ...

  3. 【Qt开发】【VS开发】【Linux开发】OpenCV、Qt-MinGw、Qt-msvc、VS2010、VS2015、Ubuntu Linux、ARM Linux中几个特别容易混淆的内容

    [Qt开发][VS开发][Linux开发]OpenCV.Qt-MinGw.Qt-msvc.VS2010.VS2015.Ubuntu Linux.ARM Linux中几个特别容易混淆的内容 标签:[Qt ...

  4. 【Linux开发】计算机底层是如何访问显卡的?

    1. 显卡驱动是怎么控制显卡的, 就是说, 使用那些指令控制显卡, 通过端口么? 2. DirectX 或 OpenGL 或 CUDA 或 OpenCL 怎么找到显卡驱动, 显卡驱动是不是要为他们提供 ...

  5. 【Linux开发】V4L2驱动框架分析学习

    Author:CJOK Contact:cjok.liao#gmail.com SinaWeibo:@廖野cjok 1.概述 Video4Linux2是Linux内核中关于视频设备的内核驱动框架,为上 ...

  6. Mysql中explain作用详解

    一.MYSQL的索引 1.索引(Index):帮助Mysql高效获取数据的一种数据结构.用于提高查找效率,可以比作字典.可以简单理解为排好序的快速查找的数据结构.2.索引的作用:便于查询和排序(所以添 ...

  7. 利用CSS的translate属性或利用CSS实现图片居中的效果

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 在Visual studio 2017中使用EF6连接MySQL

    在Visual studio 2017中使用EF6连接Mysql ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) ...

  9. django登录注册验证之密码包含特殊字符,确认密码一致实现,Form验证

    Form验证的原理 首先用户在注册界面提交表单,后台收到表单之后通过request.post取到数据然后传入已经写好的Form类 执行obj.is_valid()这里的obj为Form的实例,在For ...

  10. 声明对象的方式/构造函数/原型/this指向

      函数的发展历程(声明函数的方式):     1.通过Object构造函数或字面量的方式创建单个对象 var obj = new Object; obj.name="新华"; o ...