2016-10-21 2 views
0

현재 웹 응용 프로그램 용 스크립트를 만들고 있습니다. 나는 현재 특정 버튼을 주워 붙어 있습니다. 나는 그것에 몇 시간을 보내고 여전히 운이 없다. 어떤 조언이나지도라도 많은 도움이 될 것입니다. 아래 이미지와 소스 코드를 추가했습니다.셀레늄 - 자바 : 특정 요소를 선택하기 위해 애 쓰고 있습니다.

나의 현재 성공하지 못한 시도 :

chromeDriver.findElement(By.linkText("uploadfile")).click(); 
chromeDriver.findElement(By.xpath("html/body/div[9]/input")).click(); 
chromeDriver.findElement(By.xpath("//iput[@name='uploadfile']")).click 

div style="display: block; position: absolute; overflow: hidden; margin: 0px; padding: 0px; opacity: 0; direction: ltr; z-index: 16777270; left: 835px; top: 313px; width: 232px; height: 46px; visibility: hidden;"> 
<input name="uploadfile" style="position: absolute; right: 0px; margin: 0px; padding: 0px; font-size: 480px; font-family: sans-serif; cursor: pointer; height: 100%; z-index: 16777270;" type="file"> 

enter image description here

+1

우리는 HTML 코드가 필요합니다. 함께 공유하십시오 –

+0

사용중인 Selenium의 버전은 무엇입니까? 세 번째 시도는 "iput"가 아니라 "input"에 대한 것이라고 가정합니다. @PotnuruRavi가 말했듯이, 우리는 더 많은 데이터가 필요합니다. 당신이 선택한 요소가 스크립트의 결과로 DOM에 추가되고 있습니까? 처음부터 거기 있습니까? 보이는거야? Selenium은 요소가 보이지 않는 경우 요소를 찾는 데 문제가있을 수 있습니다. 최악의 경우이 명령으로 (javascriptExecutor) chromeDriver 명령을 사용하여 javascript를 실행하십시오. .executeScript () – Boaz

+1

최신 편집 후 입력을 포함하는 div가 보이지 않습니다 (스타일 가시성 : div에서 숨김 참조). Selenium은 보이는 요소와 함께 작동합니다. 해당 div가 표시 될 때까지 기다려야합니다 (흐름에 단계가 누락 되었습니까? WebDriverWait을 사용하여 변경 사항이 DOM에 발생하는 것을 기다리지 않습니까?) 또는 이전 div의 executeScript 메서드를 사용하여 div를 표시하도록합니다. 논평. – Boaz

답변

0

사용이 경로는 : -

//input[@name='uploadfile' and @style='position: absolute; right: 0px; margin: 0px; padding: 0px; font-size: 480px; font-family: sans-serif; cursor: pointer; height: 100%; z-index: 16777270;'] 
관련 문제