假设我在表单中有一个
input
(看起来像一个按钮,并且像按钮一样交互),它会生成一些数据(嗯,服务器根据表单参数生成数据,但对于用户来说,按钮会这样做:) )基于表单中的参数。
当我使用
click()
时,整个过程挂起(实际上冻结了,没有异常或错误)。
来自 Selenium 网站:
// Now submit the form. WebDriver will find the form for us from the element
element.submit();
所以 WebDriver 有一个
submit()
方法。在按钮上使用 click()
或 submit()
之间有逻辑上的区别吗?
submit()
功能让生活更轻松。您可以在表单标签内的任何元素上使用它来提交该表单。
您还可以搜索提交按钮并使用
click()
。
所以唯一的区别是
click()
必须在提交按钮上完成,而 submit()
可以在任何表单元素上完成。
这取决于你。
http://docs.seleniumhq.org/docs/03_webdriver.jsp#user-input-filling-in-forms
click()
和 submit()
之间有区别。
submit()
提交表单并执行“action”属性给出的 URL。如果您正在运行任何 javascript 函数或 jquery 插件来提交表单,例如通过ajax,submit()
将忽略它。使用 click()
将执行 javascript 函数。
我是
submit()
的忠实粉丝,但现在不再了。
在我测试的网页中,输入用户名和密码,然后单击“登录”。当我调用
usernametextbox.submit()
时,密码文本框被清除(变为空)并且登录不断失败。
在打破我的头一段时间后,当我用
usernametextbox.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、python 2.7.9、Selenium 2.53.5 上测试。这是并行运行的,意味着输入 ENTER 键后返回,不等待页面加载。
submit()
方法可用于单击表单中的按钮,Type 属性应为“提交”。
click()
方法用于点击网页中的按钮。
如果我错了请纠正我。
click()
- 仅执行单击操作,就像鼠标单击一样。
submit()
- 像键盘 Enter 事件一样执行 Enter 操作。
例如。考虑一个包含用户名和密码以及提交按钮的登录页面。
如果我们想在不点击登录按钮的情况下登录,请填写密码。我们需要用户在密码上提交按钮,其中
click()
操作不起作用(登录应用程序)。
driver.get("https:// anyURL");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);
driver.findElement(By.id("txtUserId")).sendKeys("[email protected]");
WebElement text = driver.findElement(By.id("txtPassword")); text.sendKeys("password");
Thread.sleep(1000);
text.click(); //This will not work - it will on perform click operation not submit operation
text.submit(); //This will perform submit operation has enter key
element.click() 方法适用于所有类型的
而提交() - Submit() 方法的目标必须是页面或其任何子元素的 HTML 标记内的元素。使用此方法,您不需要明确定位表单的提交按钮 - 您只需提交表单
它也适用于按钮/链接,但异常将抛出“java.lang.UnsupportedOperationException”
经过验证的参考链接 - https://makersaid.com/submit-vs-click-selenium/