我在Mac上使用 cucumber /水豚/ selenium /火狐。一切都很好,除了D&D。拖放操作可通过drag_node.drag_to(drop_node)
实现。当被调用时,它不会引发任何错误,但实际的拖放操作永远不会发生。
现在,我发现this sample app(由一个显然有类似问题的人编写)演示了这个问题,而不是复制粘贴片段。
谷歌并不知道drag_to()
被破坏了。就我所见。这给了我一个希望,那就是我错过了一些东西,而不是一个bug。那是什么我错过了什么?窃听器?
我在Mac上使用 cucumber /水豚/ selenium /火狐。一切都很好,除了D&D。拖放操作可通过drag_node.drag_to(drop_node)
实现。当被调用时,它不会引发任何错误,但实际的拖放操作永远不会发生。
现在,我发现this sample app(由一个显然有类似问题的人编写)演示了这个问题,而不是复制粘贴片段。
谷歌并不知道drag_to()
被破坏了。就我所见。这给了我一个希望,那就是我错过了一些东西,而不是一个bug。那是什么我错过了什么?窃听器?
5条答案
按热度按时间2izufjch1#
对我来说,
#drag_to
确实起作用了,但是,它的力量似乎是有限的。为了向下移动一个UI可排序的表格行,我必须创建一个有三行的表格,然后运行以下代码(在Cucumber步骤中):
这将用第二行交换第一行。我的解释是水豚拖得不够远,所以我给了它一个超出我实际目标的目标。
tolerance: 'pointer
'的UI排序。*w7t8yxp52#
我也遇到过同样的问题,并通过直接进入selenium-webdriver解决了它。
我正在使用selenium-webdriver 2.20.0和Capybara 1.1.2
这与此HTML一起工作
现在开始看Ruby代码。从capybara调用page.driver.browser获取selenium-webdriver
2exbekwf3#
selenium-webdriver在可排序列表方面有问题。这篇文章介绍了解决方法:http://www.dixis.com/?p=626
yqyhoc1h4#
#drag_to
不适用于可排序的列表,大概是因为您并没有拖动“到”一个元素,而是拖动了一个设定的距离和方向。Selenium的#drag_by
是您正在寻找的,但目前不受Capybara支持。参见:
https://github.com/jnicklas/capybara/issues/222
https://github.com/jnicklas/capybara/issues/119
7gs2gvoe5#
这对我很有效:
背景:
警告:我是通过反复试验发现的,实际上我不确定它为什么有效。YMMV和使用风险自担。