2016-10-13 3 views
1

셀렌으로 자동화 된 브라우저를 구축 중이며 완벽하게 작동합니다! (고맙습니다. 셀레늄 (:) 파일을 업로드하는 데 문제가 있습니다. 파일을 업로드하는 데 필요한 단계 중 하나가 파일을 업로드하는 것입니다.파이썬으로 파일 탐색기를 탐색하는 데 문제가 있습니다.

내가 업로드하는 데 사용하는 코드는 많은 사람들에게 효과가있는 것 같습니다. 이다 : 또한 시도

file_input = driver.find_element_by_id('ImageUploadButton') 
file_input.send_keys('C:\\image.jpg') 

:

driver.find_element_by_id('ImageUploadButton').click() 
driver.find_element_by_css_selector('input[type="file"]').clear() 
driver.find_element_by_css_selector('input[type="file"]').send_keys('C:\\image.jpg') 

이 많은 사람들을 위해 작동하는 것 같다,하지만 나를 위해, 그냥 내가 업로드 할 파일을 선택하는 나를 위해 파일 탐색기를 엽니 다 오류 메시지가 나타나지 않고 계속 코드를 실행합니다.

다른 사람이 파일 탐색기를 탐색하고 파일을 제출하는 데 사용할 수있는 다른 모듈을 알고 있습니까?

셀레늄을 부적절하게 사용하고 있습니까?

----------- 편집 --------------- 웹 사이트에서

추가 DIV :

<div id="FileInputWrapper" class="file-input-wrapper"> 
    <input id="FileUploadInput" type="hidden" name="file"> 
    <button id="ImageUploadButton" class="button-update-cancel short file-upload-button" type="button" style="position: relative; z-index: 1;"> Select Images</button> 
    </div> 
<input type="hidden" name="images"> 
<div id="html5_1auv7g94u187l1qdq108d1ue5qve3_container" class="moxie-shim moxie-shim-html5" style="position: absolute; top: 518px; left: 0px; width: 155px; height: 45px; overflow: hidden; z-index: 0;"> 
<input id="html5_1auv7g94u187l1qdq108d1ue5qve3" type="file" accept="image/jpeg,image/png,image/gif,image/bmp" multiple="" style="font-size: 999px; opacity: 0; position: absolute; top: 0px; left: 0px; width: 100%; height: 100%;"> 
</div> 
+1

: 당신은 할 buttoninput 요소를 처리해야합니다. – gplayer

+0

대상 요소에 'HTML'코드가 없으면 제안하기가 어렵습니다. 적절한 코드 샘플로 질문을 업데이트하십시오. 또한 "많은 사람들을위한 일"이라는 의미를 분명히하십시오. 그 사람들은 누구입니까? 그들이 코드를 성공적으로 사용합니까? – Andersson

+0

예, 동의합니다, 죄송합니다, HTML 샘플 – willer2k

답변

2

는 것 같다 파일을 업로드하는 데 잘못된 로케이터를 사용하십시오. 난 당신이 send_keys과 경로를 전송 한 후 업로드 버튼을 클릭해야한다고 생각

file_input = driver.find_element_by_xpath('//input[@type="file"]') 
file_input.send_keys('C:\\image.jpg') 
+0

굉장! 당신은 절대적으로 옳았습니다! – willer2k

+0

누군가가 같은 문제를 겪고있는 경우 – willer2k

+0

내 문제는 "요소 (driver.find_element_by_id ('ImageUploadButton'). click())를 클릭하지 말고 Andersson이 잘못된 로케이터를 사용했습니다. – willer2k

관련 문제