硒 - 拖放

时间:2013-10-09 19:39:02

标签: python selenium drag-and-drop

我希望使用Firefox作为浏览器自动将文件从桌面删除到页面,并使用Selenium on Python进行自动化。

以下是页面上拖放的代码:

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

...

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

除了来自文件系统的文件之外,大多数线程还处理掉了一些其他元素。问题是我需要事件包含一个包含实际数据的文件对象。

我尝试过输入dropbox元素,正如其他人所建议的那样,但这显然不适用于div元素。

1 个答案:

答案 0 :(得分:0)

单独使用Selenium非常痛苦。如果您可以选择使用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")