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

While automating using html code to locate element by id to send keys some values are changing in each refresh in the site

在使用 html 代码通过 id 定位元素以发送键自动化时,站点中的每次刷新都会更改一些值在使用 html 代码通过 id 定位元素以发送键自动化时,一些值在站点的每次刷新中都在变化。 例如,用户名 input_0 和密码 input_1 刷新后或使登录返回登录屏幕后,该值会增加!

有没有什么办法可以让它一直默认(不增加)

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

您不必使用 ids 来定位元素,尤其是当它们动态变化且不够可靠时。相反,我会使用 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 + "]");
});

我使用 tagName 而不是 Id 来定位元素以进行自动化。