Use property instead of execute_script
This commit is contained in:
parent
979e29d4d2
commit
18a7516de8
|
@ -14,9 +14,9 @@ class Capybara::Selenium::Node
|
|||
end
|
||||
end
|
||||
|
||||
def draggable?
|
||||
def html5_draggable?
|
||||
# Workaround https://github.com/SeleniumHQ/selenium/issues/6396
|
||||
driver.evaluate_script('arguments[0]["draggable"]', self) == true
|
||||
native.property('draggable')
|
||||
end
|
||||
|
||||
MOUSEDOWN_TRACKER = <<~JS
|
||||
|
|
|
@ -15,7 +15,7 @@ class Capybara::Selenium::ChromeNode < Capybara::Selenium::Node
|
|||
end
|
||||
|
||||
def drag_to(element)
|
||||
return super unless draggable?
|
||||
return super unless html5_draggable?
|
||||
html5_drag_to(element)
|
||||
end
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'capybara/selenium/extensions/html5_drag'
|
||||
|
||||
class Capybara::Selenium::MarionetteNode < Capybara::Selenium::Node
|
||||
|
@ -57,7 +58,7 @@ class Capybara::Selenium::MarionetteNode < Capybara::Selenium::Node
|
|||
end
|
||||
|
||||
def drag_to(element)
|
||||
return super unless (browser_version >= 62.0) && draggable?
|
||||
return super unless (browser_version >= 62.0) && html5_draggable?
|
||||
html5_drag_to(element)
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue