Protractor 很难在量角器中使用Css或任何其他定位器查找元素

Protractor 很难在量角器中使用Css或任何其他定位器查找元素,protractor,Protractor,这就是我的Html源代码的样子 <div class="pam-tile-left"> <div pam-icon="lock-closed input"></div> </div> <div class="pam-tile-content"> <gfp-form-password-field class="ng-pristine ng-untouched ng-isolate-scope ng-invalid ng-invali

这就是我的Html源代码的样子

<div class="pam-tile-left">
<div pam-icon="lock-closed input"></div>
</div>
<div class="pam-tile-content">
<gfp-form-password-field class="ng-pristine ng-untouched ng-isolate-scope ng-invalid ng-invalid-required" placeholder="Password" validate="true" required="true" ng-model="password">
<input class="ng-pristine ng-invalid ng-invalid-required ng-touched" type="password" ng-show="!showPassword" ng-model="ngModel" ng-disabled="disabled" required="true" placeholder="Password" name="password" data-validate="true">
<input class="ng-pristine ng-untouched ng-invalid ng-invalid-required ng-hide" type="text" ng-show="showPassword" ng-model="ngModel" ng-disabled="disabled" required="true" placeholder="Password" data-validate="true">
<a data-ng-click="toggleShowPassword(!showPassword)" href="javascript:void(0)">
<div ng-attr-pam-icon=" {{ showPassword ? 'password-hide' : 'password-show' }}" pam-icon="password-show"></div>
</a>
</gfp-form-password-field>


我找不到可以单击并输入值的密码字段,我使用了元素(by.css(“.ng untouched”)),但它找不到,因为它没有被触动,请提供帮助。

与开发人员交谈,并向查询添加了一个主父标记。它从一开始就存在,多个元素的原因是我们在同一页面的两个地方使用相同的元素,但在不同的主父标记中

这就是我的新查询的样子-this.rootElement.$('gfp-form-password-field input[name=“password”]”)

试试看:

element(by.model('password')).sendKeys('yourpassword');

您是否可以在密码输入中添加一个
id
属性,然后使用
元素(by.id(“”)获取它
?还有其他方法吗?Dev不在这里,我不想在他回来之前碰它,因为他在两者之间做了更改,起初很好,但现在由于新的实现,它正在崩溃。我对此也很陌生,所以如果有人能告诉我新的解决方法……我尝试使用这个-$('gfp-form-password-field input[name=“password”])但上面说的是多重引用。奇怪的是,dev不想使用ID,因为他认为这不是一个好的实践,如何解决这个问题?meh,我想我有一个想法,现在我对用户名和密码这两个都感到困惑,都绑定到“ngModel”。为什么?我错过了一些角度模式^^