Javascript 不能';t使用Webdriver(Java脚本)拖动元素 使用以下代码拖动元素-

Javascript 不能';t使用Webdriver(Java脚本)拖动元素 使用以下代码拖动元素-,javascript,web,selenium-webdriver,Javascript,Web,Selenium Webdriver,WebElement baseElement=driver.findElement(By.xpath(“元素ID”) 动作点击器=新动作(驱动程序) clicker.moveToElement(baseElement).moveByOffset(20,0).click().perform(); 元素不会移动到给定的偏移位置,而是拖动到可能的端点,无论偏移值是(0,0,),(2,0)等 但被拖动的元素在一秒钟后移动到其原始位置 手动这是不会发生的,并能够拖动到我希望的位置在限制范围内 这只是条上的

WebElement baseElement=driver.findElement(By.xpath(“元素ID”)

动作点击器=新动作(驱动程序)

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();
Actions builder = new Actions(dr);       
Action dragAndDrop = builder.clickAndHold(someElement) 
       .moveToElement(otherElement) 
       .release(otherElement) 
       .build(); 
dragAndDrop.perform();
选项2:

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();
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)
一种方便的方法,在源元素的位置执行单击并按住,移动给定的偏移量,然后释放鼠标

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

使用选项1没有选择-因为拖放点不是固定的,它是一个索引栏,索引值总是不断变化,数字的倍数也无法确定。选项2-我也尝试了该元素的所有XPath,但同样的情况也发生了g、 拖动并替换到原始位置选项3-我会尝试并让您知道。谢谢您的帮助。