gpt4 book ai didi

angularjs - 如何使用由 $index 的 ng-repeat track 创建的 Protractor 选择元素?

转载 作者:行者123 更新时间:2023-12-01 00:41:21 27 4
gpt4 key购买 nike

我需要选择由 ng-repeat 创建的文本框并使用 sendKeys 函数发送一些值。但我不确定选择文本框的方法。请建议一种方法来完成此操作,或者我应该改用 css 选择器。

<div class="qst_input_hld ng-scope" ng-repeat="option in options track by $index">
<input type="text" class="input-sm ng-pristine ng-valid" ng-model="options[$index]" placeholder="Option 1" ng-class="isOptionEmpty[$index] ? 'error-border' : ''">
<!-- ngIf: $index > 1 -->
</div>

最佳答案

有多种方法可以定位文本输入,并且由于那里有一个中继器,我怀疑有多个文本框。假设您要将 key 发送到第一个,这里有一个选项:

var desiredInput = element.all(by.repeater("option in options")).first().all(by.tagName("input")).first();
desiredInput.sendKeys("desired text");

请注意,您不需要处理 track by部分 - 它被 Protractor ( source code reference )剥离。

另请注意,我刚刚使用了 by.tagName()取决于您是否拥有其他 input 的技术可能会或可能不会起作用那里的元素。您可以更严格并改用 CSS 选择器,例如检查占位符:
var desiredInput = element.all(by.repeater("option in options")).first().$('input[placeholder="Option 1"]');

而且,如果您想为转发器中的每个项目发送 key 到输入元素,请使用 each() :
element.all(by.repeater("option in options")).each(function (elm) {
var desiredInput = elm.$('input[placeholder="Option 1"]');
desiredInput.sendKeys("desired text");
});

关于angularjs - 如何使用由 $index 的 ng-repeat track 创建的 Protractor 选择元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37517930/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com