diff --git a/lib/capybara/selenium/driver.rb b/lib/capybara/selenium/driver.rb index b4a4bcc2..ca1b62be 100644 --- a/lib/capybara/selenium/driver.rb +++ b/lib/capybara/selenium/driver.rb @@ -87,11 +87,11 @@ class Capybara::Selenium::Driver < Capybara::Driver::Base def needs_server?; true; end def execute_script(script, *args) - browser.execute_script script, *args + browser.execute_script(script, *args.map { |arg| arg.is_a?(Capybara::Selenium::Node) ? arg.native : arg} ) end def evaluate_script(script, *args) - browser.execute_script "return #{script}", *args + browser.execute_script("return #{script}", *args.map { |arg| arg.is_a?(Capybara::Selenium::Node) ? arg.native : arg} ) end def save_screenshot(path, _options={}) diff --git a/lib/capybara/session.rb b/lib/capybara/session.rb index 1683ea37..d4bc9272 100644 --- a/lib/capybara/session.rb +++ b/lib/capybara/session.rb @@ -611,7 +611,7 @@ module Capybara raise Capybara::NotSupportedByDriverError, "The current driver does not support arguments being passed with execute_script" unless args.empty? driver.execute_script(script) else - driver.execute_script(script, *args.map { |arg| arg.is_a?(Capybara::Node::Element) ? arg.native : arg} ) + driver.execute_script(script, *args.map { |arg| arg.is_a?(Capybara::Node::Element) ? arg.base : arg} ) end end @@ -630,7 +630,7 @@ module Capybara raise Capybara::NotSupportedByDriverError, "The current driver does not support arguments being passed with execute_script" unless args.empty? driver.evaluate_script(script) else - driver.evaluate_script(script, *args.map { |arg| arg.is_a?(Capybara::Node::Element) ? arg.native : arg} ) + driver.evaluate_script(script, *args.map { |arg| arg.is_a?(Capybara::Node::Element) ? arg.base : arg} ) end end