Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误消息后的Selenium Java查找输入字段_Java_Selenium - Fatal编程技术网

错误消息后的Selenium Java查找输入字段

错误消息后的Selenium Java查找输入字段,java,selenium,Java,Selenium,我在确认电子邮件中发送了一个错误的电子邮件地址,并单击“在站点中注册”,我的代码失去了对该输入字段的关注,无法再次找到输入文件。我该怎么做我的代码是 WebElement Email = Driver.findElement(By.id("emailAddress")); Email.sendKeys("sanjeevmenon@gmail.com"); WebElement CEmail = Driver.findElement(By.id("confirmemail"

我在确认电子邮件中发送了一个错误的电子邮件地址,并单击“在站点中注册”,我的代码失去了对该输入字段的关注,无法再次找到输入文件。我该怎么做我的代码是

    WebElement Email = Driver.findElement(By.id("emailAddress"));
    Email.sendKeys("sanjeevmenon@gmail.com");
    WebElement CEmail = Driver.findElement(By.id("confirmemail"));
    CEmail.sendKeys("sanjeevmeno@gmail.com");
    WebElement RegButton = Driver.findElement(By.id("register"));   
    RegButton.click();  

我收到一条错误消息,说我的电子邮件不匹配。在此之后,我试图将正确的值发送到输入字段,但我的程序没有识别出我们失去焦点的情况。请帮忙

单击“注册”按钮时,页面元素很可能以某种方式刷新。我喜欢做的是在出现错误消息时调用
Wait.until()
。仅在刷新完成后才会显示。然后,您需要确保将
CEmail=Driver.findElement(By.id(“confirmemail”))放入CEmail.clear()之前的代码>
CEmail.sendKeys()
CEmail
的上一个实例已被销毁,因此您需要重新找到它

您可能已经定义了一个
WebDriverWait
,如果已经定义了,只需使用它即可

WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("INSERT ERROR MESSSAGE ID HERE")));

你试过刷新页面了吗?这可以解决问题


driver.navigate().refresh()

嗨,伙计,我故意向字段发送不正确的值,这样我会收到一条错误消息,我不知道如何再次将焦点放回输入字段,以便发送正确的值value@SanjeevMenon我错了,我应该仔细阅读你的问题,我会更新答案的。请稍等。如何实现Wait.until()请advise@SanjeevMenon
ExpectedConditions
位于
org.openqa.selenium.support.ui
软件包中。如何实现Wait-Util,请建议您可以使用它来实现Wait.Util:Wait.Util(ExpectedConditions.visibilityOfElementLocated(By.id(“emailAddress”);首先,您发送了错误的输入值,然后可以检查输入是否包含错误消息或空消息(表示没有错误文本)。如果出现错误,可以将详细信息重新发送到相同的输入字段。