元素不可点击的硒c#

时间:2015-08-05 09:11:41

标签: c# selenium

当我输入用户名和密码的详细信息并按下提交按钮时,如果给定的信息无效,则会出现错误消息提示,因此您必须再次单击该面板以重新输入详细信息。

我的问题是,我试图点击面板上的任何项目,显然我可以在网站上手动完成但不能使用我的自动化软件,因为它给了我一个(元素不可点击)异常。这个问题的解决方案是什么?有什么建议吗?

这是错误消息的HTML

<div id="msgError" class="col-md-12 text-center">Invalid Last Name!</div>

这是我尝试点击以关闭错误消息的元素

//Get user name text box element
        var box = Program.Driver.FindElement(By.XPath("//input[contains(@id, 'regFirstName')]"));
        //Click on it
        box.Click();

HTML:

<input class="form-control" data-val="true" data-val-required="The First Name field is required." id="regFirstName" name="FirstName" placeholder="First Name" type="text" value="">

2 个答案:

答案 0 :(得分:1)

我建议您只使用SendKeys()方法而不是单击(因为我假设您要发送用户名和密码)

var username = "your username";
var box = Program.Driver.FindElement(By.Id("regFirstName")); // Lookup using Id

// SendKeys is setting the focus on the field and entering a string
box.SendKeys(username);

<强>更新

如果您需要点击页面:

Program.Driver.FindElement(By.XPath("/html/body")).Click();

答案 1 :(得分:1)

您需要在代码中添加一个新动作box.Click()。您也可以尝试添加.Perform(),但我认为这不会起作用。

我相信这是您需要的代码片段:

new Actions(driver).moveToElement(box).click().perform();

我从here

抓取的