您好,登錄后才能下訂單哦!
一 前言
在Web UI自動化測試中可能會遇到文件上傳的場景,針對該場景主要有兩種解決思路:如果是<input type="file">元素,可優先嘗試send_keys() 輸入文件路徑;如果實際情況必須要處理windows文件選擇框,則可嘗試借助AutoIt實現。
二 處理方法
假設現在我們有如下一個頁面,需要進行文件上傳操作:
手工進行文件上傳的步驟為:點擊【選擇文件】->彈出windows文件選擇框->選擇文件->點擊【開始上傳】按鈕。
分析頁面源碼,如下:
從頁面源碼可知,【選擇文件】是input標簽的元素,且type=‘file’。因此,可以嘗試先定位到該元素,然后執行send_keys方法傳入文件路徑,實現代碼如下:
browser = webdriver.Chrome()
file_path = r'E:\Python培訓計劃\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() #上傳文件到服務器
三 總結
本文主要介紹文件上傳的處理方法,調用send_keys方法傳入文件路徑即可,無需模擬彈出windows選擇框且選擇文件的過程。通過該方法可以簡單、高效的實現選擇文件的目的,避免將處理思路卡在如何選擇文件這個問題上。
四 其他資源
關于python學習、分享、交流,筆者開通了微信公眾號【小蟒社區】,感興趣的朋友可以關注下,歡迎加入,建立屬于我們自己的小圈子,一起學python。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。