Вопрос по jquery – Как перетащить маркер ползунка jQuery из Capybara и ChromeDriver?

8

Error: User Rate Limit Exceeded

page.execute_script(%Q($('#slider_handicap').slider('values',1,30)))

Error: User Rate Limit Exceeded

Ваш Ответ

2   ответа
12

Resynchronize был удален из Capybara 2.0, так что ответ пользователя 853088 для Selenium теперь будет выглядеть так:

module CapybaraSeleniumExtension
  def drag_by(right_by, down_by)
    driver.browser.action.drag_and_drop_by(native, right_by, down_by).perform
  end
end
11

Я продлил волочение капибары раньше.
Он может перемещать элементы на заданное смещение.

Вы могли бы попробовать

module CapybaraExtension
  def drag_by(right_by, down_by)
    base.drag_by(right_by, down_by)
  end
end

module CapybaraSeleniumExtension
  def drag_by(right_by, down_by)
    resynchronize { driver.browser.action.drag_and_drop_by(native, right_by, down_by).perform }
  end
end

::Capybara::Selenium::Node.send :include, CapybaraSeleniumExtension
::Capybara::Node::Element.send :include, CapybaraExtension

А потом

page.find('#slider_handicap').drag_by(30, 0)

Но это может не соответствовать масштабу ползунка.

Оригинал

Есть несколько слов предостережения.

  • This extension could depend on the type of driver and the version of driver.
  • This kind of test with dragging could lead to difficulty of maintainance.

Похожие вопросы