当前位置: 首页 > 知识库问答 >
问题:

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

聂涛
2023-03-14

“WebElement baseElement=driver.findElement(by.xpath(”Element ID“);

Actions clicker=新操作(驱动程序);

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

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

手动这是不发生的,并能够拖动直到位置我希望在限制内。

这只是条形图上的拖动元素,而不是拖放元素。

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

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

在FF17ESR、20和24ESR上用硒2.27到2.40进行试验,问题再次出现。

共有1个答案

谢英耀
2023-03-14

请找到以下选项。

备选方案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)

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

希望它有帮助,否则请放心恢复。

 类似资料:
  • 问题内容: 以下是使用Java的WebDriver代码段: 执行代码后,出现以下异常: 线程“主”中的异常org.openqa.selenium.NoSuchElementException:无法找到元素:{“方法”:“ xpath”,“选择器”:” // html / body / div [2] / span / center / form / table / tbody / tr / td

  • 下面是html代码: 并且编写了以下XPath:

  • 我正在使用下面的一段代码来获取某个特定定位器的文本。 这将返回字符串值,但只有在IE浏览器中,它才在其他浏览器(即Firefox和chrome)中失败并工作。 我面临这个问题: 组织。openqa。硒。WebDriverException:无法获取元素文本(警告:服务器未提供任何堆栈跟踪信息) 请帮我解决这个问题,IE浏览器中的这个异常也非常不一致,有时它通过了,有时失败了相同的代码。

  • 在我们的应用程序中,当我将鼠标放在菜单项上时,下拉菜单项就会出现,我希望通过单击该菜单项来选择该菜单项。菜单的结构如下所示, 在selenium webdriver中,我尝试通过给出xpath、linktext、部分链接文本直接单击Manage Channels。但在选项中,它表示无法定位元素。我附上一张截图以供参考

  • 我对selenium WebDriver非常陌生,我试图自动化一个页面,它有一个名为“删除日志文件”的按钮。使用FireBug我了解到,HTML被描述为 css选择器也使用firepath定义为“#DeletelogButton” 请帮助我解决这个问题。

  • 我试图点击一个按钮,它出现在图的右侧(图上方的三行),最后想点击“下载为CSV”。我的代码如下。 File=WebDriverWait(驱动程序,20).until(ec.element_to_be_clickable((by.xpath,'//*[@id=“HighCharts-3SLSA4F-0”]/div[2]/ul/li[6]')).click()#下载为csv 错误:引发TimeoutE