2014-09-12 1 views
0

셀렌 웹 드라이버를 사용하여 다음 입력 이미지에 이미지를 추가하려고합니다.Selenium 드래그 드롭 UI에서 숨겨진 파일 업로드

<input type="file" multiple="multiple" class="dz-hidden-input" accept="image/gif,image/jpg,image/jpeg,image/png,application/zip" style="visibility: hidden; position: absolute; top: 0px; left: 0px; height: 0px; width: 0px;"> 

sendKeys를 사용하면 ElementNotVisible이 제공됩니다. 가시성이 숨겨져 있기 때문에 요소가 현재 표시되지 않습니다.

Java 스크립트 설정 값을 사용하여 실행하려고 시도하면 "작업이 안전하지 않습니다."라는 웹 드라이버 예외가 발생했습니다.

나는 광산과 비슷한 폐쇄적 인 문제가 this 발견했습니다.

는 시도 :

executor.executeScript("arguments[0].style.visibility='visible';",fileInput); 

executor.executeScript("arguments[0].style.display='block';", fileInput); 

는 가시성을 가능하게하지만, 키가 같은 오류로 인해 실패 보내려면.

비슷한 질문이 Uploading a file through selenium but file input element is hidden인데 내 요소가 표시되지 않습니다.

셀렌 IDE에서 유형 명령을 사용해 보았습니다.

누구에게도 동일한 문제가 발생했는지 어떻게 해결되었는지 알려주세요. 사전

답변

2

시도에서

덕분에 1 입력 요소에 대한 불투명도를 설정 한 다음 파일 경로를 제공하기 위해 SendKeys 매크로를 사용합니다. 불투명도는 다음 코드를 사용하여 설정할 수 있습니다.

executor.executeScript("arguments[0].style.visibility='visible';",fileInput); 
executor.executeScript("arguments[0].style.height='200px';",fileInput); 
executor.executeScript("arguments[0].style.width='200px';",fileInput); 

그런 다음 sendKeys 메소드를 실행하십시오.

만약 도움이된다면!

+0

이 작업을 시도했지만 작동하지 않습니다 : 정보 - 완료 : [스크립트 실행 : arguments [0] .style.opacity = '1'; [[FirefoxDriver : firefox on LINUX (62d69895-4ab1 ([FirefoxDriver : firefox on LINUX (62d69895-4ab1)]) -> xpath : // input [@ type = 'file'] [1]]]] 정보 : -4598-b552-425ea7c13e77)] -> xpath : // 입력 [@ type = 'file'] [1]], [/ data1/vis halt/svn/9.0.0/automation/selenium/client/dataupload // content_library // images // nature.gif]]) 경고 - 예외가 발생했습니다. org.openqa.selenium.ElementNotVisibleException : 요소가 현재 표시되지 않았으므로 – lAH2iV

+0

내 응답을 편집했습니다. 희망이 도움이됩니다! –

0

경우 한 페이지에 여러 dropzones와 DZ-숨겨진 입력을 대상으로 문제가, 당신은이 작업을 수행해야합니다.

init: function() { 
    this.hiddenFileInput.className = "dz-hidden-input dz-hidden-input-one"; 
    } 

이 그럼 당신은 $에 숨겨진 입력 ("DZ-숨겨진를 타겟팅 할 수 있습니다 -input-one ")

관련 문제