无法使用selenium WebDriver执行拖放操作

时间:2013-04-18 10:57:32

标签: selenium drag-and-drop webdriver selenium-webdriver

我正在尝试执行dragAndDrop功能。 我也试过了dragAndDropclickAndHold。我能够将对象拖动到目标,但之后对象返回到源位置。当我尝试将clickAndHold对象拖到目标位置时,当我释放clickAndHold时,该对象再次回到旧的源位置。 我也试过下面的代码。

builder.clickAndHold(source).moveToElement(destination).release(destination).build().perform();

builder.dragAndDrop(source, destination).build().perform();

我该如何处理这个问题???

2 个答案:

答案 0 :(得分:0)

我有同样的问题。为了表现出色,我喜欢这样:

builder.clickAndHold(source).build().perform();
for(int i=0;i<size;i++) {
    builder.moveToElement(source,xoffset*i,yoffset).build().perform();//builder.moveToElement(destination,xoffset,yoffset*i).build().perform();
}
builder.release(target).build.perform();

希望可以帮助你。

答案 1 :(得分:0)

我也遇到了拖放问题。有时工作并且大多数都失败了。您可以使用以下语法:

Actions builder = new Actions(driver);
Action dragAndDrop = builder.clickAndHold(source).moveToElement(destination).release(hiddenplatform).build();
dragAndDrop.perform();

但这里有一个问题。你看我们必须在隐藏平台上发布。当我们把xpath作为目的地时;我们通过value=hidden扩展我们找到 id

获取该ID并在该平台上创建WebElement并发布。 现在对我来说绝对没问题。 :)