【问题标题】:Watir - drag and drop not workingWatir - 拖放不起作用
【发布时间】:2015-08-10 10:26:12
【问题描述】:

我需要测试一些需要拖放一些 UI 元素的功能。

我尝试在此页面上执行此操作 http://www.html5rocks.com/en/tutorials/dnd/basics/

browser.divs(:class => "column")[-2].drag_and_drop_on browser.divs(:class => "column")[-3]

在 chrome 中,我没有看到任何事情发生。 在 Firefox 中,我看到鼠标按钮已按下,但没有其他任何反应——元素没有移动。 我也尝试过其他页面,但这似乎从来没有奏效。

我也尝试了这种解决方法(建议在多个线程中使用),但它也不起作用:

my_element = browser.divs(:class => "column")[-4]
target = browser.divs(:class => "column")[-3]
my_element.fire_event("onmousedown")
driver = browser.driver
driver.action.click_and_hold(my_element.wd).perform
driver.action.move_to(target.wd).perform
target.fire_event("onmouseup”)

我在 mac 上使用 ruby​​ 1.9.3。我也在windows上试过ruby 2.1.5,结果是一样的。

有没有办法用watir拖拽?

【问题讨论】:

    标签: ruby drag-and-drop watir


    【解决方案1】:

    这就是最终让它工作的原因(一点也不花哨,但它为我做到了):

    # monkey patch for webdriver: copy and paste in IRB
    module Selenium
      module WebDriver
        class ActionBuilder
          def drag_and_drop(source, target)
            click_and_hold source
            move_to        target, 0, 0
            release        target
    
            self
          end
        end # ActionBuilder
      end # WebDriver
    end # Selenium
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-10
      • 2018-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多