溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python selenium系列(10)實戰(zhàn)技巧之文件上傳

發(fā)布時間:2020-08-01 04:39:26 來源:網(wǎng)絡(luò) 閱讀:3334 作者:平山 欄目:編程語言

前言

Web UI自動化測試中可能會遇到文件上傳的場景,針對該場景主要有兩種解決思路:如果是<input type="file">元素,可優(yōu)先嘗試send_keys() 輸入文件路徑;如果實際情況必須要處理windows文件選擇框,則可嘗試借助AutoIt實現(xiàn)。

 

處理方法

假設(shè)現(xiàn)在我們有如下一個頁面,需要進(jìn)行文件上傳操作:

 python selenium系列(10)實戰(zhàn)技巧之文件上傳

 

手工進(jìn)行文件上傳的步驟為:點擊【選擇文件】->彈出windows文件選擇框->選擇文件->點擊【開始上傳】按鈕。

 

分析頁面源碼,如下:

 python selenium系列(10)實戰(zhàn)技巧之文件上傳


從頁面源碼可知,【選擇文件】是input標(biāo)簽的元素,且type=file’。因此,可以嘗試先定位到該元素,然后執(zhí)行send_keys方法傳入文件路徑,實現(xiàn)代碼如下:

 

browser = webdriver.Chrome()
file_path = r'E:\Python培訓(xùn)計劃\selenium自動化測試\上傳測試.xlsx'

# 注意file_path使用絕對路徑:unknown error: path is not absolute
# 使用send_keys方法模擬打開windows彈框選擇上傳文件的過程
browser.find_element(By.XPATH,'//*[@id="uploadify_excel-upload_1"]').send_keys(file_path) 

#點擊【開始上傳】按鈕
browser.find_element(By.ID,'startUpload').click() #上傳文件到服務(wù)器

 

總結(jié)

本文主要介紹文件上傳的處理方法,調(diào)用send_keys方法傳入文件路徑即可,無需模擬彈出windows選擇框且選擇文件的過程。通過該方法可以簡單、高效的實現(xiàn)選擇文件的目的,避免將處理思路卡在如何選擇文件這個問題上。


四 其他資源

關(guān)于python學(xué)習(xí)、分享、交流,筆者開通了微信公眾號【小蟒社區(qū)】,感興趣的朋友可以關(guān)注下,歡迎加入,建立屬于我們自己的小圈子,一起學(xué)python。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI