input型別上傳多個檔案(selenium+Python)
阿新 • • 發佈:2018-12-12
一般上傳方法分為兩種:input型別和非input型別,這裡具體分析input型別。
html檔案:
【上傳圖示】按鈕元素定位中包含name=“file” type="file" 果斷採用input+sendkeys模式。
一、上傳一張圖片,上程式碼:
解釋一下:
1、同個頁面或者切換到不同頁面中都存在多個iframe,所以定位元素時需要切入對的iframe,否則死活定位不到元素。
2、填寫表單時欄位超過一頁無法全部都展示出來,此時需要拖動下滾動條載入剩下的欄位才能獲取到相關的元素,採用win32api的mouse_event方法(如何使用可參照win32 API大全,地址: http://www.esk365.com/zxsc/prg/winapia/)。
3、頁面中存在多個上傳按鈕均為input型別,先定位一組元素,然後根據需要去找第幾個的input,從0開始數:
二、上傳多張圖片
思路:一開始的想法是上傳一張圖片後接著再上傳一張,迴圈上傳。
這個思路是正確的,但是操作起來卻不行,一直報錯,如下:
報錯的原因:每定位上傳一次頁面就會自動重新整理,如果再次上傳則找不到元素
解決方案:上傳一次後如果再上傳第二次,需要重新定位元素,正確程式碼如下:
<正文完>