在AngularJS输入字段上找不到XPath值

时间:2018-06-28 11:23:02

标签: angularjs selenium

是否可以获取硒测试输入字段的实际值?

例如:

我需要检查该字段是否具有值以及该值是否正确:

在页面上:

经理的电子邮件: branch_manager@example.com

我需要获取值'branch_manager@example.com',但是当我使用XPath时,仅显示以下内容。

<input type="text" 
       name="Email" 
       id="Email" 
       ng-model="vm.email" 
       placeholder="" 
       maxlength="200" 
       ng-readonly="vm.editField" 
       ng-required="!vm.viewState" 
       ng-pattern="/^[a-zA-Z0-9.!#$%&amp;�*+\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/" 
       class="ng-pristine ng-valid md-input ng-valid-pattern ng-valid-maxlength ng-valid-required ng-touched" 
       readonly="readonly" 
       aria-required="false" aria-invalid="false">

我只得到ng-model,其中包含我真正想要的值是模型内部的值。有可能吗?

1 个答案:

答案 0 :(得分:0)

您可以使用getAttribute()方法提取输入的文本字段值,如下所示:

    WebElement emailId=driver.findElement(By.id("Email"));
                        ( or )
    WebElement emailId=driver.findElement(By.xpath("//input[@id='Email']"));

    //It will give the Value which is present in the input text field
    System.out.println(emailId.getAttribute("value"));