邮箱的主要功能就是邮件消息的收发阅读,之前的文章写了邮件的查收和编写,本篇介绍邮件的附件上传。还是以腾讯企业邮箱为例,进行实际案例操作。

文件上传的实现大体分为两种,一种是input标签,一种非input标签。腾讯企业邮箱里的附件上传都是input标签,如下图所示:

编写邮件,首先登陆邮箱,进入写信页面,按照一般习惯我们会先写收件人、主题、添加附件和正文。

对于input标签类型的文件上传,操作简单粗暴,使用send_keys()直接把需要上传的文件路径正确的写进去即可。上传成功如下图所示:

参考代码:

# -*- coding: UTF-8 -*-from selenium import webdriverimport timedef login(driver, user, pwd):   # 打开腾讯企业邮箱   driver.get("https://exmail.qq.com/login")   # 点击 账号密码登陆   driver.find_element_by_class_name("js_show_pwd_panel").click()   # 输入 账户   driver.find_element_by_id("inputuin").send_keys(user)   # 输入 密码   driver.find_element_by_id("pp").send_keys(pwd)   # 点击  登录   driver.find_element_by_id('btlogin').click()   #点击  写信   driver.find_element_by_id("composebtn").click()   #进入 iframe   driver.switch_to.frame("mainFrame")   #定位 收件人   time.sleep(3)   driver.find_element_by_css_selector\      ("#toAreaCtrl .addr_text [type='input']").send_keys("45@qq.com")   #定位 主题   driver.find_element_by_id("subject").click()   driver.find_element_by_id("subject").send_keys("这是一个测试主题")   #driver.find_element_by_id("subject").send_keys(Keys.TAB)   #添加  附件 input标签属性的操作方法   driver.find_element_by_xpath\      ("//span[@id='AttachFrame']//input[@name='UploadFile']")\      .send_keys("D:\接口测试.jpg")   #退出 iframe   driver.switch_to.default_content()def logout(driver):   # 登录成功 等待页面加载   time.sleep(4)   # 退出登录   driver.find_element_by_partial_link_text("退出").click()   # 用于关闭浏览器,一般测试结束时需要使用   driver.quit()if __name__ == "__main__":   driver = webdriver.Firefox()   driver.implicitly_wait(20)   user = input("请输入您的邮箱账户:")   pwd = input("请输入您的邮箱密码:")   # 调用login函数   login(driver, user, pwd)   # 调用 logout函数   #logout(driver)

python 头条 上传_Python+selenium自动化之文件上传相关推荐

  1. python 自动点击网页上按钮_python selenium自动化(一)点击页面链接测试

    需求:现在有一个网站的页面,我希望用python自动化的测试点击这个页面上所有的在本窗口跳转,并且是本站内的链接,前往到链接页面之后在通过后退返回到原始页面. 要完成这个需求就必须实现3点: 1. 找 ...

  2. python调用接口上传文件_python接口自动化7-post文件上传

    前言 文件上传在我们软件是不可少的,最多的使用是体现在我们后台,当然我们前台也会有.但是了解过怎样上传文件吗?这篇我们以禅道文档-创建文档,上传文件为例. post请求中的:Content-Type: ...

  3. python post 上传文件_python接口自动化7-post文件上传

    前言 文件上传在我们软件是不可少的,最多的使用是体现在我们后台,当然我们前台也会有.但是了解过怎样上传文件吗?这篇我们以禅道文档-创建文档,上传文件为例. post请求中的:Content-Type: ...

  4. python求excel平均值_python帮助计算excel文件上的平均值和std

    我正在计算我保存在文件夹中的大约50个excel文件的x.y和z列的平均值和标准值.每个excel文件的第一列有x值,第二列有y值,第三列有z值.我使用这个脚本,但它一直给我错误.所有文件都保存为&q ...

  5. python模拟鼠标拖动_Python+Selenium自动化篇-6-模拟鼠标操作

    在webdriver中,鼠标的一些操作如:双击.右击.悬停.拖动等都被封装在ActionChains类中,我们只用在需要使用的时候,导入这个类就可以了. 0.ActionChains类提供的鼠标常用方 ...

  6. python自动切换链接_python+selenium自动化(四)之selenium切换窗口

    当我们点击某个链接时,切换换到另一个窗口,这时就需要跟随切换到新打开的页面,去定位元素. 1.获取当前页面句柄  current_window_handle importtimefrom seleni ...

  7. python selenium 文件上传_python+selenium 文件上传

    前言 文件上传是web页面上很常见的一个功能,自动化成功中操作起来却不是那么简单. 一般分两个场景:一种是input标签,这种可以用selenium提供的send_keys()方法轻松解决: 另外一种 ...

  8. selenium+python自动化77-autoit文件上传【转载】

    前言 关于非input文件上传,点上传按钮后,这个弹出的windows的控件了,已经跳出三界之外了,不属于selenium的管辖范围(selenium不是万能的,只能操作web上元素).autoit工 ...

  9. 基于python的selenium两种文件上传方式

    方法一.input标签上传     如果是input标签,可以直接输入路径,那么可以直接调用send_keys输入路径. 方法二.非input标签上传 这种上传方式需要借助第三方工具,主要有以下三种情 ...

最新文章

  1. 两年AI研究经验(教训)总结,进来看看吧!
  2. 缓存处理类(MemoryCache结合文件缓存)
  3. java对象头_浅谈java对象结构 对象头 Markword
  4. 【神奇的函数式编程语言的独特功能】Lisp 的运行期修改、编译代码,并替换当前运行版本的试验...
  5. 复原所有面板设置+剪切板
  6. CTeX详细安装步骤
  7. (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  8. SpringBoot学习笔记(16)----SpringBoot整合Swagger2
  9. java23中设计模式——行为模式——Chain of Responsibility(职责链)
  10. Unity NGUI 网络斗地主 -界面制作
  11. 递推算法之平面分割问题总结
  12. 190104每日一句
  13. 掌握C语言判断素数(质数)相关内容
  14. 深圳CPDA数据分析认证:数据分析知识很难学么?
  15. 记一次跳过系统版本检测强刷opengapps卡刷包的过程,20210110修
  16. html5 判断手机横竖屏,移动端判断横竖屏的5种解决方案
  17. android编程实例-音乐播放器之歌词显示
  18. Springboot 整合activiti及使用案例
  19. 微信小程序 - video组件poster无效 / 视频播放列表
  20. [转] 懒惰、急躁和傲慢 (Laziness, Impatience and hubris)

热门文章

  1. 注册demo,使用jQuery异步验证账号是否存在
  2. with open的使用
  3. 关于目录操作walk
  4. 封装(私有化成员变量,获取变量值)
  5. java spring druid_Spring配置Druid连接池
  6. batch spring 重复执行_重复的Spring Batch作业实例
  7. Element-UI 表单验证规则rules 配置参数说明
  8. 调试nodejs项目接口,使用Posman,用req.body拿不到数据
  9. CI项目设计Redis队列
  10. android 开发艾特功能,Android Binder