【问题标题】:Selenium - Drag and DropSelenium - 拖放
【发布时间】:2013-10-09 19:39:01
【问题描述】:

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

这是页面拖放的代码:

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

...

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

那里的大多数线程都处理从文件系统中删除文件之外的其他一些元素。问题是我需要事件包含一个带有实际数据的文件对象。

正如其他人所建议的那样,我尝试只在 Dropbox 元素中输入内容,但这显然不适用于 div 元素。

【问题讨论】:

    标签: python selenium drag-and-drop


    【解决方案1】:

    单独使用 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")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-03
      • 2017-10-14
      • 2014-07-23
      相关资源
      最近更新 更多