python自動化上傳文件


零基礎轉行測試交流群631450326

在UI測試中,經常會涉及到文件上傳,文件上傳一般包含的文件是圖片,視頻以及如csv,excel,記事本等文件,文件上傳的實現大體分為兩種,一種是input標簽,一種非input標簽。
非input如下展示
def upLoad_File(self, filePath):
"""
使用 python 的 win32api,win32con 模擬按鍵輸入,實現文件上傳操作。
:param webEle: 頁面中的上傳文件按鈕,是已經獲取到的對象
:param filePath: 要上傳的文件地址,絕對路徑。如:D:\\timg (1).jpg
"""
pyperclip.copy(filePath) # 復制文件路徑到剪切板

time.sleep(3) # 等待程序加載 時間 看你電腦的速度 單位(秒)
# 發送 ctrl(17) + V(86)按鈕
win32api.keybd_event(17, 0, 0, 0)
win32api.keybd_event(86, 0, 0, 0)
win32api.keybd_event(86, 0, win32con.KEYEVENTF_KEYUP, 0) # 松開按鍵
win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)
time.sleep(1)
win32api.keybd_event(13, 0, 0, 0) # (回車)
win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0) # 松開按鍵
win32api.keybd_event(13, 0, 0, 0) # (回車)
win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)
time.sleep(2)
webEle.click()  # 點擊上傳圖片按鈕
調用上傳文件函數upLoad_File(r'D:\\timg (1).jpg')
 
         
         
        

input標簽上傳方式:send_keys()自動化上傳

簡單的input標簽上傳方式要使用自動化上傳不難,先定位到上傳按鈕,然后send_keys把路徑作為值給傳進去就好了。

例如我們找到那個控制上傳的input標簽,例如<input type="file" name="upload">這樣的,然后對這個按鈕進行定位再傳路徑:

driver.find_element_by_name("upload").send_keys('D:\\filename.txt')

這種方式很簡單,只要有input標簽一般都可以通過這種方式簡單的一條語句就可以實現。

 
        
 
        

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM