Protractor 以下标签的最佳定位器是什么?

Protractor 以下标签的最佳定位器是什么?,protractor,Protractor,下面是登录表单中密码字段的标记 我们的人在EMail字段中也使用了相同的类名。因此,我不能使用className作为密码在量角器中定位它,因为xpath和css(id设计更改)不可靠,对我来说什么是最好的选择 电子邮件字段的标记: <input class="native-input sc-ion-input-md" aria-labelledby="ion-input-0-lbl" autocapitalize="off" autocomplete="off" autocorrect="

下面是登录表单中密码字段的标记

我们的人在EMail字段中也使用了相同的类名。因此,我不能使用className作为密码在量角器中定位它,因为xpath和css(id设计更改)不可靠,对我来说什么是最好的选择

电子邮件字段的标记:

<input class="native-input sc-ion-input-md" aria-labelledby="ion-input-0-lbl" autocapitalize="off" autocomplete="off" autocorrect="off" name="ion-input-0" placeholder="" required="" type="email">

密码字段的标记:

<input class="native-input sc-ion-input-md" aria-labelledby="ion-input-5-lbl" autocapitalize="off" autocomplete="off" autocorrect="off" name="ion-input-5" placeholder="" required="" type="password">

对于提交按钮:

<ion-button _ngcontent-rbh-c129="" type="submit" color="loginbutton ion-margin" class="ion-color ion-color-loginbutton ion-margin md button button-solid ion-activatable ion-focusable hydrated">Login</ion-button>
登录
由css提供:

element(By.css('input[name="ion-input-0"][type="email"]')),
以及:


我不建议您使用离子输入属性,因为它是在构建过程中生成的离子相关属性,可以是动态的

使用
类型
,因为它是:

  • 明显的

  • 静止的

一段时间后,您将很难理解自己的代码,并试图回忆起ion-input-0中的内容
引用。

我刚看了其他页面的代码,与上面的代码相同吗?我可以基于CSS自动化整个项目吗?对不起,我是新手。我尝试了这个建议,但它出错了。消息:失败:使用locator:By(css选择器,输入[name=“ion-input-0”][type=“email”])@SaiKrishnaPulivarthi未找到任何元素。SaiKrishnaPulivarthi等待了一段时间,该元素可能尚未显示,工具希望单击它。如果我错了,请不要介意。我正在使用量角器,我听说量角器会自动等待元素,不需要让驱动程序手动等待。@SaiKrishnaPulivarthi它是为角度而定制的,但无论如何,您都需要等待。在单击“执行任何操作”之前,您需要确保显示元素:谢谢。这帮我把钥匙送到了田里。现在我对登录按钮使用了同样的Css选择器,现在它抛出了一个错误。我将在问题中添加代码,以便于您使用。让loginbutton=element(by.css('input[type=“submit”]”)抱歉,我明白了。我删除了单词Input,因为它不是一个输入字段,而且工作正常。。“是这样吗?”赛克里希纳普利瓦西说,“你说得对。您需要
ion按钮[type=“submit”]
谢谢!我明白了!
 element(By.css('input[name="ion-input-5"][type="password"]')),
input[type="email"]
input[type="password"]