Selenium C#Webdriver如何检测是否单击了按钮

时间:2017-05-16 21:51:35

标签: selenium selenium-webdriver

我在IE中使用selenium来自动化Web测试。我的网页填写表格,最后点击一个按钮。单击按钮的代码是

driver.FindElement(By.CssSelector("td.ne-fieldvalues > input[type=\"button\"]")).Click();

10次中的8次,点击但其他时间点击命令永远不会执行。 有没有办法可以检查按钮是否确实被点击了?与复选框类似的东西

if (!driver.FindElement(By.CssSelector("input[type=\"checkbox\"]")).Selected)
                    driver.FindElement(By.CssSelector("input[type=\"checkbox\"]")).Click();

我试过.Displayed和.Enabled,这两个属性都是真的。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

要确保在单击链接或按钮时执行操作,最好验证生成的应用程序状态。例如。如果我在输入有效的用户名和密码后单击“登录”按钮,它将带我到我的主页,验证主页已加载,否则点击事件失败。如果用户名/密码无效,请在登录页面上验证警告消息。

总而言之,您必须验证响应以验证任何网络元素上的点击事件。

您可以做的最少的事情是确保使用ExpectedConditions.elementToBeClickable()点击该元素:

// In Java
WebDriverWait wait = new WebDriverWait(driver, timeOut);
wait.until(ExpectedConditions.elementToBeClickable(locator));