当我输入用户名和密码的详细信息并按下提交按钮时,如果给定的信息无效,则会出现错误消息提示,因此您必须再次单击该面板以重新输入详细信息。
我的问题是,我试图点击面板上的任何项目,显然我可以在网站上手动完成但不能使用我的自动化软件,因为它给了我一个(元素不可点击)异常。这个问题的解决方案是什么?有什么建议吗?
这是错误消息的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="">
答案 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
抓取的