2013-04-18 95 views
0

我正在尝试执行dragAndDrop功能。我也试过dragAndDropclickAndHold。我可以将对象拖到目标位置,但在此之后对象会回到源位置。当我尝试clickAndHold对象被拖到目标位置时,当我释放clickAndHold时,对象再次回到了旧的源位置。 我也尝试了下面的代码。无法使用硒进行拖放WebDriver

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

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

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

+0

可以显示源类型代码和目标类型吗? – e1che

+0

我有同样的问题。经过对SO和网络的广泛研究后,我认为这是一个硒错误。我在这里提交了一个错误报告:https://code.google.com/p/selenium/issues/detail?id=6315&thanks=6315&ts=1380031813 –

回答

0

我有同样的issue.In为了给示好,我这样做:

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(); 

希望能帮助你。

0

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

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

但是这里有一个问题。你看我们必须在隐藏的平台上发布。当我们将xpath作为目的地时;并且我们展开我们发现IDvalue=hidden

取得该ID并在该平台上创建WebElement并发布。 现在对我来说绝对很好。 :)