2012-04-07 2 views
0

업로드 스레드 수가 많았지 만 답변을 찾을 수 없었습니다. 누군가 제발 도와 줄 수 있어요. 내 PC에서 웹 사이트로 업로드 할 파일을 선택할 수있는 찾기 버튼이 있습니다.어떻게 Selenium 2.20 및 Java에 파일을 업로드 할 수 있습니까?

내가 노력
<input id="contentFileInput" width="110" type="file" height="30" name="contentFileInput" style="display: none;"> 
<object id="contentFileInputUploader" width="110" height="30" type="application/x-shockwave-flash" data="../../Scripts/uploadify.swf" style="visibility: visible;"> 
<param name="quality" value="high"> 
<param name="wmode" value="opaque"> 
<param name="allowScriptAccess" value="sameDomain"> 
<param name="flashvars" value="uploadifyID=contentFileInput&pagepath=/Content/&script=/Content/AsyncUpload/&folder=&width=110&height=30&wmode=opaque&method=POST&queueSizeLimit=999&simUploadLimit=1&fileDesc=*.mpeg;*.mpg;*.avi;*.flv;*.mov;*.mp4;*.wmv&fileExt=*.mpeg;*.mpg;*.avi;*.flv;*.mov;*.mp4;*.wmv&auto=true&sizeLimit=1258291200&fileDataName=Filedata"> 
</object> 

: WebElement의 ELEM = driver.findElement (By.xpath ("// * [ID @ = 'contentFileInputUploader']"여기 찾아보기 버튼을 웹 사이트에있는 HTML 코드입니다)); elem.sendKeys ("C : ///video/file.flv");

하지만 아무 것도하지 않습니다. 찾아보기 버튼을 가리면 ff에서 firepath로부터 xpath가 생겼습니다. 누군가 내가 할 수있는 것을 제안 할 수 있습니까? 나는 정말로 붙어있다. 미리 감사드립니다.

+0

왜 버튼에 키를 보내려면 어떻게합니까? 파일 업로드를위한 흐름은 무엇입니까? 먼저 버튼> 표준 업로드 파일 대화 상자가 나타나면 확인을 클릭하고 웹 사이트에 파일을 업로드하십시오. 나 맞아? –

+0

그 솔루션은 다른 게시물에 의해 제공되었다. 나는이 특정 유형의 버튼에서는 작동하지 않는다고 지적하고 있습니다. 귀하의 가정에서 올바른지 만, 대화 상자가 표시되지만이 경우에는 click 메소드가이 객체에서도 작동하지 않습니다. 그리고 창문을 열어도 더 이상 그 시간에 통제 할 수 없습니다. 누구든지 아이디어가 있습니까? – twsel

+0

아마도 위의 요소 으로 재생해야합니다. 셀렌 IDE에서 해보기 :'type | contentFileInput | C : \\ video \\ file.flv'. 작동한다면 아마도 JavaScript를 사용하여 값을 입력해야합니다. '((JavascriptExecutor) driver) .executeScript ("arguments [0] .value ='C : \\ video \\ file.flv ';", elem); ' –

답변

관련 문제