上傳文件


  上傳文件是比較常見的web功能之一,但webdriver沒有提供專門用於上傳的方法,如何實現上傳操作關鍵在於上傳文件的思路

  一般web頁面的上傳功能的操作需要點擊“上傳”按鈕后打開本地的window窗口,從窗口中選擇本地文件進行上傳,而webdriver是無法操作Windows控件的,所以對於web頁面的上傳功能實現有以下兩種方法。

  1、普通上傳:普通的附件上傳是將本地文件的路徑作為一個值放在input標簽中,通過form表單將這個值提交給服務器

  2、插件上傳:一般是指基於Flash、JavaScript或Ajax等技術所實現的上傳功能

 

Send_keys上傳

  通過這種方法上傳可避免操作Windows控件的步驟。只要找到上傳的input標簽,那么就基本都可以通過send_keys()方法向其輸入一個文件地址來實現上傳。如:

  from selenium import webdriver

  import os

  

  driver = webriver.Chrome()

  driver.get('http://www.baidu.com')

  #定位上傳按鈕,添加本地文件

  driver.find_element_by_name('file').send_keys('d:/upload_file.txt')

  driver.quit()

 

第三方工具上傳

  非input標簽的上傳,則需要借助第三方工具winspy,或者python pywin32和spy++、sendkeys第三方庫和autolt

  以下是固定的代碼,復制即可使用

  

 


免責聲明!

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



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