python selenium上傳文件——input標簽

python selenium上傳文件——input標簽,第1張

我們要區分出上傳按鈕的種類,大躰上可以分爲兩種:


第一種普通上傳:將本地文件路逕作爲一個值,放在input標簽中,通過form表單將這個值提交給服務器;

第二種插件上傳:是通過Flash、JavaScript、Ajax等實現(標簽非input)的上傳功能;

---------------------------------------------------------------------------------------------------

對於通過input標簽實現的上傳功能,可以將其看做一個輸入框,通過send_keys()指定本地文件路逕的方式,

實現文件上傳

python selenium上傳文件——input標簽,複制代碼,第2張
fromseleniumimportwebdriver
importtime

driver=webdriver.Firefox()
driver.implicitly_wait(20)
driver.get('/demo/php/fileUpload.htm')
driver.find_element_by_id('file').send_keys('C:\Users\del\Desktop\文本.txt')

time.sleep(10)
driver.quit()
python selenium上傳文件——input標簽,複制代碼,第2張

 ---------------------------------------------------------------------------------------------------------

from selenium import webdriver
import time

driver = webdriver.Firefox()
driver.implicitly_wait(20)
driver.get('file:///C:/Users/del/Desktop/tanchuang.html')

time.sleep(10)

driver.find_element_by_id('file').send_keys('C:\\Users\\del\\Desktop\\文本.txt')

time.sleep(10)
driver.quit()

===================================================================================

file:///C:/Users/del/Desktop/tanchuang.html的源代碼
python selenium上傳文件——input標簽,複制代碼,第2張
<html><body><formname='form1'action='fileUpload.php'method='post'enctype='multipart/form-data'><labelfor='file'>File:</label><inputtype='file'name='file'id='file'/><br/><inputtype='hidden'name='multi'value='false'/><inputtype='submit'name='submit'value='Submit Single'/></form><formname='form3'action='fileUpload.php?q=a$&* ^'method='post'enctype='multipart/form-data'><labelfor='file'>File:</label><inputtype='file'name='file'id='file5'/><br/><inputtype='hidden'name='multi'value='false'/><inputtype='submit'name='submit'value='Submit Single'/></form><formaction='fileUpload.php'method='post'enctype='multipart/form-data'><labelfor='file2'>File[]:</label><inputtype='file'name='file[]'id='file2'/><br/><labelfor='file3'>File[]:</label><inputtype='file'name='file[]'id='file3'/><br/><inputtype='hidden'name='multi'value='true'/><inputtype='submit'name='submit'value='Submit Array'/></form><script>function setAction(){
    document.form2.action ='fileUpload.php';
}
</script><formname='form2'action=''method='post'enctype='multipart/form-data'onsubmit='setAction()'><labelfor='file'>File:</label><inputtype='file'name='file'id='file4'/><br/><inputtype='hidden'name='multi'value='false'/><inputtype='submit'name='submit'value='Submit Single'/></form><formaction='fileUpload.php'method='post'enctype='multipart/form-data'><labelfor='files'>Files:</label><inputtype='file'name='file[]'id='files'multiple/><br/><inputtype='hidden'name='multi'value='true'/><inputtype='submit'name='submit'value='Submit Multiple'/></form><divid='fileDetails'><labelfor='file5'>Files:</label><inputtype='file'name='file'id='fileWdValidation'multiple/></div><!--<div id='filesDetails'>
<label for='file2'>Files:</label>
<input type='file' name='file' id='files1' multiple/> 
</div> --><script>functionfillFileDetails(){
varfiles=this._file;
varfileDetails='<br />';
for(vari=0; i<files.length; i){
        fileDetails ='<span class='fileName'>File Name:'files[i].name'</span> <br />';
        fileDetails ='<span class='fileSize'>File Size:'files[i].size'</span> <br />';
        fileDetails ='<span class='fileType'>File Type:'files[i].type'</span> <br />';
    }
    document.getElementById('fileDetails').insertAdjacentHTML('beforeend', fileDetails);
}

document.getElementById('fileWdValidation').onchange=fillFileDetails;
//document.document.getElementById('files1').onchange = fillFileDetails;</script></body></html>
python selenium上傳文件——input標簽,複制代碼,第2張

生活常識_百科知識_各類知識大全»python selenium上傳文件——input標簽

0條評論

    發表評論

    提供最優質的資源集郃

    立即查看了解詳情