2014-10-10 4 views
0

내 사이트의 파일 업로드를 자동화하고 있습니다. 나는 FF 31, 셀렌 2.39를 사용하고있다. 내가 볼 수있는 문제는 Chrome 코드에서 파일을 업로드하면 Chrome 37에서 작동하지만 FF 31에서는 작동하지 않는다는 것입니다. FF 28-31 버전의 경우 셀레늄 43 및 셀레늄 39와 함께 작동하도록 노력했지만 아직 결과가 없습니다. 그런 다음 input 요소의 스타일이 javascript.After를 사용하여 표시되지 않으므로 불투명도가 0에서 1로 설정된 인라인 스타일을 추가했습니다. 자바 스크립트를 실행하여 특성을 출력했습니다. 해당 요소가 활성화되어 표시되고 불투명도가 1로 설정되어있는 것을 볼 수 있습니다. 변경 사항이 모두 적용됩니다. 여전히 내 sendKeys() doesnt는 it.Aut 일을하는 것처럼 보이지만 다른 도구를 추가하고 자신에 대한 더 많은 문제 (내 사이트/셀렌/브라우저/autoit 사이의 호환성 문제)를 구입하고 싶지 않았어 AutoIT 생각 했어. 너희들이 뭔가 제안 할 수 있습니까? 이 문제를 해결하기 위해 할 수있는 일은 무엇입니까?sendkeys가 파일 입력에 작동하지 않습니다. selenium 2.39 Firefox 31

WebElement input = driver.findElement(By.xpath("//input[@id='img']")); 
input.sendKeys("C:/Pictures/img1.gif"); 

final JavascriptExecutor js = (JavascriptExecutor) driver; 
js.executeScript("document.getElementById('img').style.opacity=\"1\";"); 

<i class="coral-Icon"> 
<input id="img" class="FileUpload" type="file" onchange="preview();" data-upload-url="URL" name="file"> 
</i> 

System.out.println("enabled??== " + input.isEnabled()+ " === "+ input.isDisplayed()+" style "+ input.getAttribute("style")); 
console-output : enabled??== true === true style opacity: 1; 

답변

0

내가 사용하는 창에서 경로 오류가 발생했습니다. 파일의 경로를 변경하기 위해 실행중인 OS에 기반한 검사 기능을 추가했습니다.

문자열 imgPath = imagePath.replaceAll ("/", "\\");

관련 문제