如何检索文本字段中的文本

时间:2016-05-31 10:39:26

标签: java selenium selenium-webdriver

考虑文本字段的HTML。

<input id="employeeId" class="formInputText" type="text" value="0013" name="employeeId" maxlength="10"/>

我想检索文本框的value=""属性中的值,并将其存储在字符串变量中。

我构建了文本字段的xpath:

//input[@id='employeeId']

我有以下代码:

driver.findElement(Btn_Save).click();

boolean mandatory_firstName = (first_Name != null && !first_Name.isEmpty() && !first_Name.trim().isEmpty());
boolean mandatory_lastName = (last_Name != null && !last_Name.isEmpty() && !last_Name.trim().isEmpty());
boolean mandatory_userName = (user_Name != null && !user_Name.isEmpty() && !user_Name.trim().isEmpty());
boolean mandatory_Password = (Pass != null && !Pass.isEmpty() && !Pass.trim().isEmpty());
boolean mandatory_ConfPass = (Confirm_Pass != null && !Confirm_Pass.isEmpty() && !Confirm_Pass.trim().isEmpty());

if((mandatory_firstName && mandatory_lastName && mandatory_userName && mandatory_Password && mandatory_ConfPass) == false)
    {
        Assert.fail("Error: One of the mandatory fields is missing text. \n");
    }

else
    {
        boolean PassConfirmation = (Pass.equals(Confirm_Pass));
        if(PassConfirmation == false)
        {
            Assert.fail("Error: Password and Confirm Password did not match. Run Test again with same passwords. \n");
        }
        else
        {
            WebElement employeeID = driver.findElement(By.xpath("//input[@id='employeeId']"));
            String empID = employeeID.getText();
            System.out.println("ID is: "+empID);
        }
    }

这段代码从点击保存按钮开始。然后检查必填字段和密码,确认密码。 在同一页面上,有一个员工ID的文本字段,它包含一些预设值。我想提取那个价值。我尝试使用字段和getText()它,但是当我运行我的脚本时,它给了我NOSuchElementFound异常,堆栈跟踪将我引用到WebElement employeeID = driver.findElement(By.xpath("//input[@id='employeeId']"));命令。

3 个答案:

答案 0 :(得分:2)

获取所需的属性,如下所示

String valAttr = driver.findElement(By.id("employeeId")).getAttribute("value");

希望这有帮助

答案 1 :(得分:0)

使用以下代码:

String value =   driver.findElement(By.id("employeeId")).getCssValue("value");

答案 2 :(得分:0)

您可以通过以下方式获取WebElement属性的值 -

String empID = driver.findElement(By.id("employeeId")).getAttribute("value");

如果您想以整数形式使用empID,请使用下面的代码 -

int empIDval = Integer.parseInt(empID);