2013-10-09 75 views
0

我正在尋找使用Firefox作爲瀏覽器將文件從桌面拖放到頁面的自動操作,以及Python自動化中的Selenium。Selenium - Drag and Drop

下面是頁面上的拖放和拖放代碼:

<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。它可以讓你通過下面的代碼拖動文件:

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

一些好的仍然是,如果你的#dropbox div包含一些文本,例如。 Drop files here。那麼你可以做

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