郵箱的主要功能就是郵件消息的收發閱讀,之前的文章寫了郵件的查收和編寫,本篇介紹郵件的附件上傳。還是以騰訊企業郵箱爲例,進行實際案例操作。
文件上傳的實現大體分爲兩種,一種是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)