From 946b7a24796945dffc217daff566faaece592fc8 Mon Sep 17 00:00:00 2001 From: Henrik Skupin Date: Thu, 6 Sep 2018 14:46:38 +0200 Subject: [PATCH] [rb] Dispatch form "submit" event on window to prevent a form double submission (#6373) This fixes the Ruby bindings for issue #6361. --- rb/lib/selenium/webdriver/remote/w3c/bridge.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rb/lib/selenium/webdriver/remote/w3c/bridge.rb b/rb/lib/selenium/webdriver/remote/w3c/bridge.rb index f251730f597ee..062a1ffc09bd4 100755 --- a/rb/lib/selenium/webdriver/remote/w3c/bridge.rb +++ b/rb/lib/selenium/webdriver/remote/w3c/bridge.rb @@ -388,9 +388,10 @@ def clear_element(element) def submit_element(element) form = find_element_by('xpath', "./ancestor-or-self::form", element) - execute_script("var e = arguments[0].ownerDocument.createEvent('Event');" \ + execute_script("var win = arguments[0].ownerDocument;" \ + "var e = win.createEvent('Event');" \ "e.initEvent('submit', true, true);" \ - 'if (arguments[0].dispatchEvent(e)) { arguments[0].submit() }', form.as_json) + 'if (win.dispatchEvent(e)) { arguments[0].submit() }', form.as_json) end def drag_element(element, right_by, down_by)