javascript - 在使用 html 代码通过 id 自动定位元素以发送键时,某些值在站点的每次刷新中都会发生变化

标签 javascript automation protractor ui-automation inspector

当使用 html 代码通过 id 自动定位元素以发送键时,某些值在网站的每次刷新中发生变化While automated using html code to locate element by id to send keys some values are changing in the each refresh in the site. 例如,用户名有 input_0 和密码 input_1,在刷新或登录后返回登录屏幕后,该值会增加!

有没有办法让它一直默认(不增加)。

这里有 2 个例子来理解我在谈论用户名,第一个是 input_0(原点),另一个是 input_4(对于同一个字段) problem origin problem

最佳答案

您不必使用 id 来定位元素,尤其是当它们动态变化且不够可靠时。相反,我会使用 by.model 方法:

var usernameInput = element(by.model("credentials.username"));

如果你然后,比方说,需要找到相应的标签,你可以这样做:

var usernameLabel = usernameInput.element(by.xpath("preceding-sibling::label"));

或者,使用 inputid:

usernameInput.getAttribute("id").then(function(id) {
    var usernameLabel = $("label[for=" + id + "]");
});

关于javascript - 在使用 html 代码通过 id 自动定位元素以发送键时,某些值在站点的每次刷新中都会发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37323435/

相关文章:

javascript - 如何使用 Greasemonkey 修改现有按钮的 onclick 以打开新选项卡?

javascript - Google Chrome 中未触发主干点击事件

angularjs - Protractor - 测试 angular.service 时未定义注入(inject)

javascript - E2E测试: Karma+JQuery vs Protractor

node.js - 如何阻止 Protractor 下载最新的 chromedriver?

javascript - Bootstrap 日期时间选择器选择所选日期之前的日期

JavaScript 函数未加载/工作

Jquery:如何自动将 window.location.hash 应用为与按钮 id 中相同的数字?

ios - 适用于 iOS native 设备功能的 Appium 自动化

c# - 寻找适用于 .NET (WinForms) 的 GUI 自动化框架