当Java Selenium的代码片段中没有“value”属性或文本时,如何将电子邮件/文本输入字段

lx0bsm1f  于 2022-11-24  发布在  Java
关注(0)|答案(3)|浏览(146)

我想获取使用java代码输入的电子邮件ID“arjun_123@gmail.com“。我尝试了下面的代码,但它总是返回空值。
我真正需要的是,我想检查是否电子邮件是成功输入或没有。有时,电子邮件是没有得到输入。所以我想检查是否字段是空的或没有,并检索输入的文本。

email.getAttribute("innerText");
email.getAttribute("innerHTML");
email.getAttribute("textContent");
email.getText();

epggiuax

epggiuax1#

在此方法中传递您的电子邮件xpath。您将获得输入的文本

public String getTextofInputBox(By by) {

    JavascriptExecutor js = (JavascriptExecutor) driver; 
    String value = (String)((js).executeScript("return arguments[0].value",driver.findElement(by)));
    return value;
}
eit6fx6z

eit6fx6z2#

您正在拉回错误的属性,您要使用的属性是value:

email.getAttribute("value");
y1aodyip

y1aodyip3#

<input>元素

根据文档,HTML<input>元素是HTML表单的交互式控件,用于接受来自用户的数据。

数据验证

Data validation帮助我们确保用户以正确的格式填写了所需的字段,以确保应用程序/Web服务器成功接受提交的数据。
根据快照:

<input>元素包含通过属性**data-validate进行的JavaScript验证,该属性具有两个子验证,如'validate-email':true'required':true。这些Javasript验证将验证在<input>字段中输入的文本。
因此,一旦Javasript验证完成,您就可以使用以下解决方案提取您在
EMAIL字段(即arjun_123@gmail.com**)中输入的文本,从而诱导 WebDriverWait

System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(email).getAttribute("value"));

相关问题