无法使用Webdriver (Java Script)拖动元素

Couldn't drag an element using Webdriver (Java Script)

本文关键字:Script 拖动 元素 Java Webdriver      更新时间:2023-09-26

使用以下代码拖动元素-

" webelementbaseelement = driver.findElement(由。xpath("元素ID");

Actions clicker = new Actions(driver);

clicker.moveToElement (baseElement) .moveByOffset(20日0).click () .perform ();

元素没有被移动到给定的偏移位置,而是拖动到可能的结束,无论偏移值是(0,0,),(2,0)等

但是被拖动的元素会在一秒钟后移动到原来的位置。

手动拖动不会发生这种情况,并且可以拖动到我希望在限制内的位置。

这只是一个拖放元素,而不是一个拖放元素。

也尝试了不同的拖动相关的方法,但没有工作,面对同样的情况。

如果有人遇到同样的情况,请帮助我。

在FF 17ESR, 20和24ESR上尝试使用Selenium 2.27到2.40,问题重复。

请查看以下选项

选项1:

WebElement eleFrom = driver.findElement(By.xpath("//*[@id='draggable']"));
WebElement eleTo = driver.findElement(By.xpath("//*[@id='droppable']"));   
  Actions action = new Actions(driver); 
action.dragAndDrop(eleFrom, eleTo).perform();

选项2:

Actions builder = new Actions(dr);       
Action dragAndDrop = builder.clickAndHold(someElement) 
       .moveToElement(otherElement) 
       .release(otherElement) 
       .build(); 
dragAndDrop.perform();

选项3:我们可以在Actions类中使用下面的函数:

dragAndDropBy(WebElement source, int xOffset, int yOffset)

一个方便的方法,在源元素的位置执行点击并按住,按给定的偏移量移动,然后释放鼠标。

希望有帮助,否则请随意回复