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("[email protected]")
   #定位 主題
   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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章