【发布时间】:2014-02-15 08:12:47
【问题描述】:
环境
chrome 32 webdriver2.8
我正在使用 selenium(java) 单击提交输入。但是我需要点击两次才能激活提交操作。
输入代码:
<input type="submit" disabled="disabled" id="id_submit" name="submit" class="btn-txt" value="OK">
不工作硒代码:
if(submitButton.isEnabled()) {
new Actions(driver).moveToElement(submitButton).perform();
submitButton.click(); // this sentence is executed.
}
有效
submitButton.click();
submitButton.click();
嗯,第一次点击函数似乎使按钮获得焦点,第二次点击函数主动提交操作。当我首先使用 moveToElement 聚焦按钮时,单击也不起作用。我可以确保按钮已启用。我想使用 selenium 单击按钮,我不想单击两次。我该怎么办?有任何想法吗?谢谢。
编辑
都可以使用
JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript("document.getElementById('id_submit').focus();");
jse.executeScript("document.getElementById('id_submit').click();");
更新
假设我想输入一个字符串,比如“abcdef123456”。然后执行 send_keys。看起来像 并启用提交按钮。第一次点击提交按钮后。它看起来像 并提交按钮获得焦点。第二次点击提交按钮后,表单被提交,页面被重定向。我对第一次点击感到困惑。
【问题讨论】:
-
看看 html...
disabled='disabled'你不能(也不应该)点击无法交互的东西。 -
new Actions(driver).moveToElement(submitButton).perform(); submitButton.click();被执行。所以应该启用它。 -
点击两次是硒的bug还是硒的解决方案?
标签: google-chrome testing selenium selenium-webdriver automated-tests