Selenium Webdriver submit()vs click()
比方说,我有一个forms的input
(看起来像一个button,并像一个button交互),它会生成一些数据(嗯,服务器生成基于表单参数的数据,但对于用户来说,button做:))基于表单中的参数。
当我使用click()
,整个过程挂起(它实际上冻结,没有例外或错误)。
来自Selenium网站:
// Now submit the form. WebDriver will find the form for us from the element element.submit();
所以WebDriver有一个submit()
方法。 在button或submit()
上使用click()
之间有什么区别,逻辑明智吗?
submit()
函数在那里让生活更轻松。 您可以在表单标签中的任何元素上使用它来提交该表单。
您也可以search提交button并使用click()
。
所以唯一的区别是click()
必须在submitbutton上完成,而submit()
可以在任何表单元素上完成。
随你便。
http://docs.seleniumhq.org/docs/03_webdriver.jsp#user-input-filling-in-forms
click()和submit()是有区别的。
submit()提交表单并执行由“action”属性给出的url。 如果你有任何的javascript函数或jquery插件运行提交表单,例如通过ajax,submit()将忽略它。 点击()JavaScript函数将被执行。
另外,纠正我,如果我错了,但我相信提交将等待一个新的页面加载,而点击将立即继续执行代码
我是submit()
一个伟大的粉丝,但现在不再。
在我testing的网页中,input用户名和密码,然后点击login。 当我调用usernametextbox.submit()
,密码文本框被清除(变为空)并且login保持失败。
打破了我的头一段时间后,当我replaceusernametextbox.submit()
并用loginbutton.click()
取代,它的工作就像一个魔术。
submit()
和click()
都不够好。 但是,如果您按下ENTER键,则工作正常:
search_form = driver.find_element_by_id(elem_id) search_form.send_keys(search_string) search_form.click() from selenium.webdriver.common.keys import Keys search_form.send_keys(Keys.ENTER)
在Mac 10.11上testing,python 2.7.9,Selenium 2.53.5。 这个并行运行,意味着在进入ENTER键后返回,不等待页面加载。
可以使用submit()
方法点击表单中的button,Type属性应该是“submit”。
click()
方法用于点击网页上的button。
纠正我,如果我错了。
- 当附加查询string参数或使用POST不是一个选项时,如何避免Internet Explorer 11中的AJAXcaching
- jQuery在<select>上更改事件不在IE中触发
- Modernizr,html5shiv,ie7.js和CSS3 Pie。 哪个使用什么时候?
- 在IE中DOMNodeInserted相当于?
- SCRIPT5009:“JSON”未定义
- JavaScriptclosures如何收集垃圾
- IE6 / IE7 CSSselect元素边框
- 在Internet Explorer中'脚本'标记的'onload'处理程序
- 在任何低于10的IE版本中,XMLHttpRequest访问被AngularJS拒绝