2013-10-09 3 views
0

브라우저로 Firefox를 사용하는 페이지에서 데스크톱으로 파일 놓기를 자동화하고 파이썬에서 자동화를 위해 Selenium을 자동화하려고합니다.셀레늄 - 끌어서 놓기

<div id="dropbox">...</div> 
<script type="text/javascript"> ... 
    dropbox.addEventListener("drop", dropUpload, false); 
<script> 

... 

function dropUpload(event) { 
... 
files = event.dataTransfer.files; 
... 
} 

스레드의 대부분은 거기에 파일 시스템에서 파일 외에 다른 요소를 삭제 처리 : 여기

페이지에 드래그 앤 드롭에 대한 코드입니다. 문제는 실제 데이터가있는 파일 객체를 포함하는 이벤트가 필요하다는 것입니다.

다른 사람들이 제안했듯이 dropbox 요소에 입력을 시도했지만 div 요소와 함께 작동하지 않습니다.

답변

0

이것은 셀렌만으로는 매우 고통 스럽습니다. Selenium에 대한 상용 애드온을 사용할 수있는 경우 Helium을 사용해보십시오. 당신의 #dropbox 사업부는, 예를 일부 텍스트가 포함 된 경우

from helium.api import drag_file 
drag_file(r"C:\Documents\notes.txt", to=driver.find_element_by_id("dropbox")) 

좋네요은 여전히 ​​: 그것은 당신이 다음 코드를 통해 파일을 드래그 할 수 있습니다. Drop files here. 그럼 할 수있어

drag_file(r"C:\Documents\notes.txt", to="Drop files here")