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. Java中判断两个列表是否相等

    CollectionUtils.isEqualCollection(final Collection a, final Collection b) CollectionUtils工具类中有一个查看两个 ...

  2. 以非root身份安装Python的Module或者Package以及pip安装指定路径

    因为要远程访问公司的服务器,没有sudo的权限,所以在安装python的一些包的时候就不能安去默认路径了(比如以/usr/local/lib/为prefix的路径). 一般来讲用easy_instal ...

  3. centos7 主从dns配置 bind服务

    一,配置前请先关闭防火墙selinux 防火墙关闭方法,参见上一篇文章. setenforce 0    #临时关闭 修改/etc/selinux/config 文件  将SELINUX=enforc ...

  4. HTML5 列表、表格、媒体元素

    无序列表 <ul> <li>范冰冰演藏族女孩</li> <li>拍集体合影后自拍</li> <li>诗隆甜蜜出游</li& ...

  5. CSS3—— 多列 用户界面 图片 按钮

    多列 将文本内容设计成像报纸一样的多列布局 多列创建 间隙 列边框 边框颜色+宽度 指定列的宽度 指定元素跨越多少列 用户界面 由用户调整元素大小[谷歌浏览器等] 以确切的方式定义适应某个区域的具体内 ...

  6. Linux常用命令梳理——文件管理(一)

    由于本人目前仍是萌新一枚,所以<Linux常用命令梳理>系列仅依照个人目前掌握的知识,对一部分命令进行梳理,目的是为了对之前学到的知识进行巩固.当然了,如果机缘巧合被大家看到了,也欢迎各位 ...

  7. 【HANA系列】SAP HANA Studio使用insufficient privilege 问题

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA Studio使 ...

  8. 【MM系列】SAP MM模块-打开前面物料账期的方法

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]在SAP里查看数据的方法   前言部 ...

  9. C++——堆、栈与内存管理

    简介 Stack,是存在于某作用域(scope) 的一块内存空间(memory space).例如当你调用函数,函数本身即会形成一个stack 用來放置它所接收的参数,以及返回地址.在函数本体(fun ...

  10. Quartz任务调度的测试Demo1(含有配置文件的demo)

    Quartz是一个作业任务调度的框架,所在项目组中“消息推送模块”使用到此框架,于是写个demo熟悉下quart的用法: 使用Spring框架来集成Quartz的任务调度任务. 1.搭建Spring框 ...