386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
|
# File 'lib/selenium/webdriver/remote/bridge.rb', line 386
def submit_element(element)
script = "/* submitForm */ var form = arguments[0];\n" \
"while (form.nodeName != \"FORM\" && form.parentNode) {\n " \
"form = form.parentNode;\n" \
"}\n" \
"if (!form) { throw Error('Unable to find containing form element'); }\n" \
"if (!form.ownerDocument) { throw Error('Unable to find owning document'); }\n" \
"var e = form.ownerDocument.createEvent('Event');\n" \
"e.initEvent('submit', true, true);\n" \
"if (form.dispatchEvent(e)) { HTMLFormElement.prototype.submit.call(form) }\n"
execute_script(script, Bridge.element_class::ELEMENT_KEY => element)
rescue Error::JavascriptError
raise Error::UnsupportedOperationError, 'To submit an element, it must be nested inside a form element'
end
|