【发布时间】:2016-03-29 08:59:52
【问题描述】:
我正在尝试使用 Java 中的 Selenium Web 驱动程序在 IE11 中自动执行拖放功能。我可以在 Chrome 上以某种方式实现它,但它没有在 IE 中发生。
在进一步解释之前,我是如何拖放的:
Actions builder = new Actions(driver);
builder.clickAndHold(sourceElement)
.moveToElement(targetElement)
.release(targetElement)
.build().perform();
在 IE 中:它不是拖放,而是选择从源元素到目标元素的所有文本。我认为这可能是因为它拾取了错误的元素并尝试了一些相关的父子元素的操作,但没有奏效。
在 Chrome 中:运行流畅。
在 Firefox 中:只需单击保持并在拖动时抛出,element no longer attached to DOM exception。这可能是因为,我正在从网格(剑道网格)中拖动一行,并且由于无法从网格中拖动一行,我们的开发人员已经以这样一种方式实现了它,即当您拖动一行时,会创建一个新的动态元素移动。
只是补充更多细节:
- 我已经尝试过
dragAndDrop()和其他Javacript 选项。 - 我正在使用最新版本的 selenium 和更新的 IE。
- 我们的网格使用 HTML5 组件,我发现已经存在一些问题(虽然不确定所有问题是什么),但由于我的方案在一个浏览器中运行,我希望这不是这些问题之一。
- 我以某种方式使用
Robot类使其成为可能,但它太不可靠并且行为怪异,我宁愿放弃也不愿使用它。
任何帮助将不胜感激!
【问题讨论】:
-
我面临同样的问题。您找到解决方案了吗?你能告诉我你是如何使用机器人类让它工作的吗?
标签: java selenium selenium-webdriver