【自動化專題】selenium如何輕鬆搞定文件上傳

使用selenium作自動化時,咱們常常會遇到的一個讓人頭疼的問題就是文件上傳。html

問題的難點在於selenium沒法識別並操做Windows窗口,若咱們能夠繞過彈出框直接把文件信息上傳給選擇按鈕,難點就解決了。spa

如下是常見頁面形式3d

分析HTML,發現不管是普通前臺仍是Extjs,他們的html有一個共同的特色,具備如下代碼:code

  <input ..... type="file" ...../>

ok,只要咱們使用selenium自帶的sendkeys把文件路徑(相對絕對無所謂)傳給該元素,就可繞過選擇窗口直接上傳文件.htm

解決方案誕生了對象

driver.findElement(XXXXX).sendKeys("filePath");

 

Have a Tryblog

博客園上傳圖片:driver.findElement(By.name("file")).sendKeys("C:\Users\123\Pictures\a.png");圖片

QQ郵箱上傳附件:driver.findElement(By.name("UploadFile")).sendKeys("C:\Users\123\Pictures\a.png");input

定位元素根據狀況而定,不必定用name;文件路徑能夠使相對路徑,你們自行修改就好博客

 

注意:執行sendKeys的元素必定要符合inputtype="file"條件,不然就是你沒找對上傳文件的對象,會上傳失敗的。

像這樣的,必定注意不要上傳到前面的那個input上,不然會失敗的

相關文章
相關標籤/搜索