Java 如何检索文本字段中的文本
考虑文本字段的HTMLJava 如何检索文本字段中的文本,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,考虑文本字段的HTML <input id="employeeId" class="formInputText" type="text" value="0013" name="employeeId" maxlength="10"/> 我有以下代码: driver.findElement(Btn_Save).click(); boolean mandatory_firstName = (first_Name != null && !first_Name.isEmpt
<input id="employeeId" class="formInputText" type="text" value="0013" name="employeeId" maxlength="10"/>
我有以下代码:
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);
}
}
这段代码从单击save按钮开始。然后检查必填字段和密码,确认密码。
在同一页面上,有一个employee id的文本字段,其中包含一些预设值。我想提取那个值。我试图创建该字段的webelement并将其getText()保存,但当我运行脚本时,它会给我NOSCHELEMENTFOUND异常,堆栈跟踪将我引用到webelement employeeID=driver.findElement(By.xpath(//input[@id='employeeID'])代码>命令。使用以下代码:
String value = driver.findElement(By.id("employeeId")).getCssValue("value");
使用以下代码:
String value = driver.findElement(By.id("employeeId")).getCssValue("value");
获取所需的属性,如下所示
String valAttr = driver.findElement(By.id("employeeId")).getAttribute("value");
希望这有助于获得所需的属性,如下所示
String valAttr = driver.findElement(By.id("employeeId")).getAttribute("value");
希望这对您有所帮助以下是获取WebElement属性值的方法-
String empID = driver.findElement(By.id("employeeId")).getAttribute("value");
如果您想以整数形式使用empID,请使用下面的代码-
int empIDval = Integer.parseInt(empID);
下面是获取WebElement属性值的方法-
String empID = driver.findElement(By.id("employeeId")).getAttribute("value");
如果您想以整数形式使用empID,请使用下面的代码-
int empIDval = Integer.parseInt(empID);
一旦有了表示输入字段的WebElement,只需对其调用getText()?是的,关于这一点。我已经试过了,但由于某种原因,当我使用WebElement时,我的脚本抛出了NoTouchElementFound异常。将用我的代码编辑帖子。啊,是的,我没有正确阅读问题。它是一个输入字段,而不是包含TextNode的元素。我想Karthik的答案就在这里。getText只返回文本值,但这是属性值,您需要使用字符串empID=employeeID.getAttribute()@uzii,听起来您需要等待元素可见,如果它从来都不可见,那就弄清楚为什么它实际上不可见。一旦你有了表示输入字段的WebElement,就对它调用getText()?是的,关于这一点。我已经试过了,但由于某种原因,当我使用WebElement时,我的脚本抛出了NoTouchElementFound异常。将用我的代码编辑帖子。啊,是的,我没有正确阅读问题。它是一个输入字段,而不是包含TextNode的元素。我想Karthik的答案就在这里。getText只返回文本值,但这是属性值,您需要使用字符串empID=employeeID.getAttribute()@uzii,听起来您需要等待元素可见,如果它从未可见,请找出它实际上不可见的原因。