如何从selenium中没有value属性的文本框中输入文本

时间:2016-06-29 05:43:04

标签: java selenium-webdriver

我的元素如下所示:

<input name="ctl00$PlaceHolderPopUp$ReviewName" 
       type="text" maxlength="255" id="PlaceHolderPopUp_ReviewName" 
       class="giInput_two inputHeight_two" 
       style="height:20px;width:100%;">

检索代码:

String value=driver.findElement(By.xpath("//*@id='PlaceHolderPopUp_ReviewName']")).getText().trim();

我想在其中输入一些文本并在保存之前检索文本。我使用了getText()方法,但它没有检索任何文本。

3 个答案:

答案 0 :(得分:0)

您可以在变量中输入您输入的字符串,并在脚本中使用相同的字符串。例如:

String Text ="Name"
Driver.findElement(By.xpath("//*@id='PlaceHolderPopUp_ReviewName']")).sendkeys(Text);

因此,您可以在任何地方使用Text变量,而不是从文本框中读取它。

如果您真的想阅读,可以尝试使用getAttribute("Value")代替getText()

答案 1 :(得分:0)

<input _ngcontent-c16="" class="form-control input-sm ng-touched ng-dirty ng-valid" formcontrolname="usrPwd" id="usrPwd" maxlength="15" name="usrPwd" type="password" placeholder="Password">

如果没有“值”属性,那么如何从“密码”文本框中检索文本

以下是我的代码,仅供参考。

WebElement Password = driver.findElement(By.id("usrPwd"));
Password.sendKeys("Future1234");
String Text = driver.findElement(By.id("usrPwd")).getAttribute("Value");
System.out.println(Text);

答案 2 :(得分:-1)

如果目标元素是input元素,您应该尝试如下: -

WebElement el=driver.findElement(By.xpath("//*@id='PlaceHolderPopUp_ReviewName']"));
String value = el.getAttribute("value");

注意: - input元素始终在其属性属性value中包含输入的文本。它们的属性value是否存在并不重要。 希望它会帮助你...... :)