【发布时间】:2015-12-29 06:19:42
【问题描述】:
我想在密码字段中输入一些值,但是当我找到元素并输入一些值时,它显示元素不可见错误。下面是密码字段的 html 代码。我已经通过 xpath、css、id 和 name 尝试过,即使我已经做出了等待条件,但它不起作用。
这是我试过的方法
browser.sleep(3000);
AGP.AgtPassword.sendKeys(Login.AgPassword);
var msg = AGP.pswmsg1.getText();
if(msg == Login.msg1 || Login.msg2)
{
AGP.AgtPassword.clear();
AGP.AgtPassword.sendKeys(Login.Ag1Password);
}
<input type="password" id="password" name="agtPassword" class="form-control text-input ng-pristine ng-invalid ng-invalid-required ng-valid-pattern ng-valid-minlength ng-valid-maxlength ng-touched" ng-model="agentPassPhrase" ng-minlength="6" ng-maxlength="20" ng-pattern="/(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z])/" placeholder="Password" required="" style="">
【问题讨论】:
-
您需要弄清楚为什么该字段被报告为不可见。按 id 查找是引用元素的最佳方式。话虽如此,如果您有多个具有该 id 值的字段,那您就错了。根据 W3C 规范,每个页面只能有一个具有特定 id 值的元素。
标签: angularjs automation protractor