Python+selenium自动化之23----文件上传

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

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

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

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

 

代码参考:

# -*- coding: UTF-8 -*-
from selenium import webdriver
import time

def 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("123456@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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值