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

Selenium Webdriver拖放在Chrome中不起作用

祁刚毅
2023-03-14

我使用了下面的代码进行拖放。它在Firefox驱动程序中工作,但在chrome驱动程序中不起作用。

WebElement dragElement = driver.findElement(By.id(dragid1));  
WebElement dropElement = driver.findElement(By.id(dropid1));    

Actions builder = new Actions(driver);  
Action drag = builder.clickAndHold(dragElement).build();
drag.perform();

Action move = builder.moveByOffset(355, -20).build();  
move.perform();  
TimeUnit.SECONDS.sleep(2);  
Actions release = builder.clickAndHold(dropElement).release();  
release.perform();   

请帮忙!

共有3个答案

邵鸿福
2023-03-14

尝试将所有这些单独的操作对象捆绑到单个操作对象中

Actions act = new Actions(driver);
act.ClickAndHold(dragElement );
act.MoveToElement(dropElement );
act.Release(dragElement );
act.Build().Perform();

注:对我来说,镀铬

在发布之前,您是否有理由等待2秒钟,或者这正是FF中的工作原理

孟佑运
2023-03-14

使用chromedriver:2.15、chrome:v43尝试了以下示例代码,并且可以很好地使用chrome。

示例代码:

    System.setProperty("webdriver.chrome.driver","drivers/chromedriver.exe");
    WebDriver  driver = new ChromeDriver();
    driver.manage().timeouts().implicitlyWait(1,TimeUnit.MINUTES);
    driver.get("http://jqueryui.com/droppable");

    driver.switchTo().frame(0);
    WebElement dragElement = driver.findElement(By.id("draggable"));
    WebElement dropElement = driver.findElement(By.id("droppable"));
    Actions builder = new Actions(driver);
    builder.clickAndHold(dragElement).moveToElement(dropElement).release().build().perform();
年高洁
2023-03-14

如果您同时拥有源ID和目标ID,那么为什么不尝试使用拖放?

我对Java不是很在行,但下面是我如何在Python中完成它的。我希望这对你有点帮助。

from selenium.webdriver.common.action_chains import ActionChains 
actionChains = ActionChains(driver)
actionChains.drag_and_drop(dragElement, dropElement).perform()
 类似资料:
  • 我有一个非常简单的测试 测试毫无例外地通过了。但是,它不执行拖放操作。我试过Chrome、Firefox和Edge。谢谢你的帮助。

  • 我试图使用Selenium WebDriver将一个元素拖到另一个元素中,但它不起作用。我尝试了在互联网上找到的所有解决方案,但似乎没有一个对我有效。 代码1:- 代码2:- 代码3:- 代码4:- 以上代码都不适用于我。以上所有操作都会正常运行,但应用程序中不会发生拖放操作。有没有其他解决办法?谢谢

  • 我只是做了一个简单的应用程序,包括FlowPane和一些有按钮的VBoxs。 主类是这样的。 这个画廊.class是扩展FlowPane的主要后台类。 而PlotterPanel就是VBox,有按钮,可以在图库中拖拽。 问题是,当我在图库中拖动绘图器面板时,它第一次就不能被拖动。我在第二次尝试后工作。当我开始拖动时,它显示了拖动框,但是当我尝试放在另一个节点上时,鼠标点显示x符号。但是当目标已经尝

  • 在最新版本的chrome 91上,使用Selenium Action类或java脚本拖放元素不起作用。我尝试了所有可能的情况,例如使用以下方法 Javascript方法进行拖放 Java脚本方法1 Java脚本方法2: 使用jQuery方法。JQuery 使用机器人类。 使用Selenium Touch动作。 但没有一个解决方案对我有效。拖放是在之前的chrome版本89上进行的。 在此输入图像描

  • 问题内容: 我注意到less.js在firefox中工作,但在Chrome中不工作,或者是因为我出错了吗? 即使我尝试在Chrome中仍然无法使用,我在某个地方犯了错误吗? 问题答案: 通过您提供的链接: 如果您使用的是Chrome,Less.js浏览器脚本当前将无法使用,并且由于已知的Chrome问题,网页的路径以“file:///”开头。

  • 我有一些 在量角器中,我们搜索并找到元素,检查文本是否符合我们的期望,然后对该元素调用。测试在Chrome中运行良好,但在IE中就好像没有点击发生一样。破坏了测试。 IE 11是否支持点击