标签: drag-and-drop

如何在angular2中模拟量角器中的拖放动作?

我有两个div.

var e1 = element(by.id('draggable-0'));
var e2 = element(by.id('dropContainer-0'));
Run Code Online (Sandbox Code Playgroud)

我想删除e1e2.IE执行拖放在E2E测试用例跌幅为angular2.

我尝试下面的代码:

var e1 = element(by.id('draggable-0'));
var e2 = element(by.id('dropContainer-0'));
browser.driver.actions().dragAndDrop(e1.getWebElement(),e2.getWebElement()).perform();
browser.sleep(2000);
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我的chrome被打开但没有任何反应.

任何输入?

谢谢.

drag-and-drop protractor e2e-testing angular

2
推荐指数
1
解决办法
3363
查看次数

第二次使用ng2-dragula获取错误页面时出错

我试图阻止用户移动第一个元素dragulaService,代码第一次运行没有任何错误,但是当我离开这个页面然后再次打开它时,我收到错误.

导致错误的代码:

constructor(public service:SmartTablesService, private dragulaService:DragulaService) {
    dragulaService.setOptions('nested-bag', {
      revertOnSpill: true,
      moves: function (el:any, container:any, handle:any):any {
        if (handle.className === 'sorting-table-title') {
          return false;
        } else {
          return true;
        }

      }
    });
Run Code Online (Sandbox Code Playgroud)

错误是:

error_handler.js:48 EXCEPTION:未捕获(在承诺中):错误:./SortTableComponent类中的错误SortTableComponent_Host - 内联模板:0:0引起:名为:"nested-bag"的包已存在.错误:包名为:"nested-bag"已经存在.在DragulaService.add(http://platform.local:8080/3.chunk.js:1070:19)处于DragulaService.setOptions(http://platform.local:8080/3.chunk.js:1099:24)在新的SortTableComponent(http://platform.local:8080/3.chunk.js:1311:24)

drag-and-drop ng2-dragula angular

2
推荐指数
1
解决办法
903
查看次数

通过拖放操作调用的vbscript中的当前工作目录

当我试图获得我的批处理脚本的提升权限时,我发现了两个相关的SO问题

......这导致了部分解决的问题.出于某种原因,我遇到了在VBS脚本中包含空格的文件路径参数的命令行传递问题,所以我试图将解决方案分成3部分并集中在内部(VBS)步骤,然后通过调用a添加最后一步尽管与VBS脚本位于同一文件夹中,但无法找到该VBS中的批处理.我发现,拖放不是"那么简单" 它使用时的不同.vbs,而不是.bat.exe用作放置目标.

这是我的实际问题:

如果我拖动文件并将其拖放到可执行文件(exe)或批处理文件(bat,cmd)上,则当前工作目录由拖动项目的来源确定.其目录设置为处理它的程序或脚本的工作目录.

如果我将文件放到VBS脚本上,则会有所不同.在Windows 8.1 x64上,C:\Windows\System32即使参数与VBS位于同一文件夹中,我也会观察到它.

我可以简单地使用这样的批处理文件(如拖放中继)

my.vbs %*
Run Code Online (Sandbox Code Playgroud)

获得"正常" .bat行为(drop source指示CWD),但我也想了解它.

这是一个错误还是一个功能?它是否与所有Windows版本一致?


编辑:为显示我如何到达的问题添加背景(在顶部)(+次要更正)

windows vbscript drag-and-drop batch-file working-directory

2
推荐指数
1
解决办法
1093
查看次数

带有Selenium的Python:从文件系统拖放到WebDriver?

我必须自动化一个Web应用程序,其中包含一个拖放区域,用于从本地文件系统上载文件。我的测试环境是使用Python开发的。对于自动化测试,我使用了Selenium,但是一旦上传区域是div标签(没有输入标签-这样我就很容易),就不可能从文件系统中拖动文件。

我读了很多不同的文章,但到目前为止,没有一篇对我有用。重要的是要强调一点,我对使用AutoIT并不感兴趣,仅对带硒的本机python感兴趣。

我找到了这个Selenium:从文件系统拖放到webdriver?看起来确实很有前途的东西,但是我不知道该如何适应Python。

提前非常感谢您!

javascript python selenium drag-and-drop ui-automation

2
推荐指数
1
解决办法
1384
查看次数

使用HTML5拖放Aurelia

我想在Aurelia中实现一个简单的拖放操作,但似乎无法触发drop事件.

<template>
<div class="container">
    <div class="row">
        <div draggable="true" dragstart.delegate="dragStart($event)">Drag Me</div>
    </div>
    <div class="row">
        <div class="upload-drop-zone" dragenter.delegate="dragEnter($event)" drop.delegate="dragDrop($event)">Drop Area</div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

export class DemoPage {
 dragStart(event) {
    console.log('dragstart', event);
    return true;
}

dragEnter(event) {
    console.log('dragEnter', event);
    return true;
 }

 dragDrop(event) {
    console.log('dragDrop', event);
    return true;
 }
}
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏 - 谢谢.马特

html5 drag-and-drop aurelia

2
推荐指数
1
解决办法
1471
查看次数

由于recyclerview拖放的变化,如何更新ArrayList中的所有项目

RecyclerView的布局是GridLayout3列。我正在使用ItemTouchHelper拖放GridLayoutRecyclerView。在我的适配器中,有一种方法onItemMove()可以通知我我已移动的物品。它只交换那些ArrayList我拖放过的项目。但是由于拖放,其他元素也会发生变化。我也想更新他们在中的职位ArrayList

这是我的Recyclerview的适配器:

public class GridAdapter extends RecyclerView.Adapter<GridAdapter.MyViewHolder> implements com.sagar.quizdemo.helper.ItemTouchHelperAdapter {
    String[] str = {"Level 1", "Level 2", "Level 3", "Level 4", "Level 5", "Level 6", "Level 7", "Level 8", "Level 9"};
    List<String> itemList, actualList;
    LayoutInflater inflater;
    Context context;
    private final OnStartDragListener mDragStartListener;

    public GridAdapter(Context context, OnStartDragListener dragStartListener) {
        this.context = context;
        mDragStartListener = dragStartListener;
        inflater = LayoutInflater.from(context);
        itemList = new ArrayList<>();
        actualList = new ArrayList<>(Arrays.asList(str));
    } …
Run Code Online (Sandbox Code Playgroud)

java android drag-and-drop android-recyclerview itemtouchhelper

2
推荐指数
1
解决办法
1436
查看次数

在iOS模拟器中调用多个拖动

只是想知道如何在iOS模拟器中调用多个拖动.我显然可以使用单个项目执行此操作,但如何添加到当前拖动?

drag-and-drop ios ios11

2
推荐指数
1
解决办法
504
查看次数

JMeter GUI - 无法拖放到层次结构中的最后一个元素

JMeter GUI(Swing)具有拖放功能,

问题是,有时我需要将组件拖到层次结构的最后一个(例如,线程组中的最后一个请求),并且GUI似乎允许它,但是当释放鼠标键时没有任何反应.

例如下面我不能将Request 3作为最后一个组件放到它的位置,我必须进行2次拖放请求:请求1和2来发出1,2,3的顺序.

是摆动限制还是JMeter有理由禁用它?

user-interface swing drag-and-drop jmeter

2
推荐指数
1
解决办法
92
查看次数

即使使用捕获阶段,OnDrop事件目标也是在儿童身上丢弃的子项

我试图让我的拖放工作在JavaScript中正常工作,而不必显式扫描父元素或其他ID,类循环和其他hacky魔术.

现在,当我拖动元素池中的一个元素并将其拖动到灰色区域时,该元素将被复制到放置区域(到目前为止一切正确).我基本上复制拖动元素的HTML,清除放置区域(目标)并向其添加新元素.

当您在放置区中已经有一些子元素并将其拖到子元素上时,问题就开始了.然后drop事件中的目标是子元素,而不是附加事件的div.这会导致拖动的元素清除并将其自身复制到子项而不是drop容器中.

预期的结果应该是,无论是将它放在子节点上还是直接放在主放置容器上,目标应始终是父节点,因为我正在使用事件捕获模式.

这是我在JS Fiddle中的示例代码.我正在使用带捕获的事件监听器,但它似乎正在进行冒泡阶段而忽略了捕获阶段.为什么?

这样做的正确方法是什么?

function onDrag(ev) {
  var el = ev.target;
  //console.log("Drag: " + ev.target.outerHTML)
  ev.dataTransfer.setData('text/html', ev.target.outerHTML);
}

function onContainerOver(ev) {
  ev.preventDefault();
  ev.dataTransfer.dropEffect = "move"
}

function onContainerDrop(ev) {
  ev.preventDefault();
  //console.log("Drop: " + ev.dataTransfer.getData("text/html"))
  ev.target.innerHTML = ev.dataTransfer.getData("text/html");
}

document.getElementById('target').addEventListener('drop', onContainerDrop, true); // This should not bubble, but it does. Target is always the child first rather than the element where the event listener resides. Why???
Run Code Online (Sandbox Code Playgroud)
#list {}

.el {
  padding: 5px;
  margin: 10px;
  border: solid 1px black; …
Run Code Online (Sandbox Code Playgroud)

html javascript drag-and-drop dom-events event-capturing

2
推荐指数
2
解决办法
1478
查看次数

无法使用Selenium和python从源拖放到目标

我正在尝试使用Python和Selenium拖放。

我有两个带有行的容器,这些行指示文件名,并且通过拖放操作,我想将一个文件从第一个容器传输到第二个容器。

这是容器的外观: 货柜

我在互联网上看到硒和拖放库存在一些问题,我不确定如何使这项工作有效。

由于浏览器和驱动程序的版本起着重要作用,请查看我使用的浏览器和驱动程序: 驱动程序/浏览器版本

我尝试拖放的方式如下:

time.sleep(15)
source_element = self.browser.find_element_by_css_selector('#transfer-tape-listing-nst0 > tbody > tr.file.transfer-tape-item.ui-draggable.ui-draggable-handle > td.listing-name')
dest_element = self.browser.find_element_by_css_selector('#transfer-location-listing > tbody > tr:nth-child(1) > td.listing-name.ui-droppable > span.listing-name-label')
ActionChains(self.browser).drag_and_drop(source_element, dest_element).perform()
Run Code Online (Sandbox Code Playgroud)

我的驱动程序具有以下配置:

def set_up_browser():
    display = Display(visible=0, size=(1200, 800))
    display.start()
    selected_browser = config_section_map('Test')['browser']
    browser = ''

    if selected_browser == 'Firefox':
        opts = FirefoxOptions()
        opts.set_headless(headless=False)
        firefox_profile = webdriver.FirefoxProfile()
        firefox_profile.set_preference("browser.privatebrowsing.autostart", False)
        firefox_profile.set_preference("marionette", True) # remove if causing issues

        browser = webdriver.Firefox(executable_path="/usr/bin/drivers/geckodriver", firefox_profile=firefox_profile, firefox_options=opts)
    elif selected_browser == 'Chrome':
        opts = ChromeOptions()
        opts.set_headless(headless=False)
        opts.add_argument("--no-sandbox")
        opts.add_argument("--incognito")
        browser …
Run Code Online (Sandbox Code Playgroud)

python testing selenium drag-and-drop selenium-webdriver

2
推荐指数
1
解决办法
902
查看次数