- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我是 AngularJS/protractor 的新手,所以非常感谢任何关于这方面的指导。由于 Angular JS 通过 ng- 指令实例化 html 元素,因此没有允许我定位特定元素的“id”等。 (显然我想这样做是为了验证内容,点击它们等)我的 Angular js 片段看起来像:
<div ng-repeat="item in myList">
<span ng-if="item.category == 'lights'">
<img src="../../../{{item.icon}}"/>
 <span id="foo">{{item.name}}</span> 
</span>
</div>
我在遍历列表时尝试定位元素 {{item.name}}:
element.all(by.repeater('item in myList')).then(function(rows) {
noOfItems = rows.length;
for (i = 0; i < noOfItems; i++) {
row = element.all(by.repeater('item in myList')).get(i);
row.isElementPresent(By.id('foo')).then(function (isP) {
if (isP) {
console.log("foo exists?" + isP);
row.findElement(By.id('foo')).then(function (el) {
el.getText(txt).then(function (txt) {
console.log("Item name " + txt);
});
});
}
});
}
});
通过检查,“行”元素似乎是 selenium 对象,因此我调用了“isElementPresent(...)”,效果很好。它检测到正确数量的“foo”元素。但是,当 row.findElement(...) 运行时,测试规范会提前终止。 (没有错误,就结束了)
我知道文档中会有多个“foo”元素,但我希望因为它们是在子 html 元素中查询的,所以(行)这可能会起作用。
有什么建议/解决方法吗?
最佳答案
在解决您的具体问题之前,这里似乎有几处不对劲。
1) 我不认为上面的第 4 行是你想要做的。它将为每一行返回到浏览器,每次都重新运行 by.repeater 查询。您真正需要做的就是 row = rows[i]
。
2) 更好的是,您可以简单地将前四行替换为 element.all(by.repeater('item in myList')).each(function(row){
至于在上下文中查找 foo 跨度的问题,您可以尝试查找 by.css(':scope #foo')
。这应该让您在当前元素的范围内搜索 id='foo'。
关于javascript - 如何找到特定的 html 元素,AngularJS, Protractor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23250829/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!