angularjs - 量角器 - 如何在父节点中查找所有子元素?
问题描述
我正在尝试查找父 web 元素中的所有子元素。
这是父元素:
tableRow = element.all(by.xpath(
"//tr[contains(@class, 'ng-scope')]" +
"[@ng-repeat='audit in location.displayedProfileAudits']"))
.get(0);
我尝试了以下代码片段,但都失败了:
//this fails with a timeout
var resultIcons = tableRow.all(by.xpath(".//i[contains(@class, 'icon')][contains(@ng-if, 'field.match')]"));
//this fails due to: TypeError: tableRow.element.all is not a function
var resultIcons = tableRow.element.all(by.xpath(".//i[contains(@class, 'icon')][contains(@ng-if, 'field.match')]"));
//this also times out
var resultIcons = tableRow.element(by.xpath(".//i[contains(@class, 'icon')][contains(@ng-if, 'field.match')]"));
任何人都可以以适当的方式指导/指导我处理这个问题吗?
谢谢
解决方案
@凯文。我会使用 CSS 选择器。基本上,我认识的几乎每个人都使用 CSS 选择器。它看起来非常容易。
例如:
var resultIcons = $$('your_parent_element your_child_element'))
例子:
<bl-e-comm tag="parent">
<div elem="child1">....</div>
<div elem="child1">....</div>
<div elem="child1">....</div>
<div elem="child1">....</div>
</bl-e-comm>
您的定位器是:
var allChildElements = $$('bl-e-comm[tag="parent"] div') // $$('bl-e-comm[tag="parent"] {NOTE:here is empty space between locators} div')
将收集父bl-e-comm[tag="parent"] 的所有 div 元素
阅读此处了解更多 CSS 选项:https ://www.w3schools.com/cssref/css_selectors.asp
对于您的脚本转换为 css 选择器:
tableRow = element.all(by.css(
"tr[class*='ng-scope')][ng-repeat*='audit in location.displayedProfileAudits']"))
.get(0);
var resultIcons = tableRow.element(by.css("i.icon[ng-if*='field.match']"));
推荐阅读
- youtrack - 你可以在同一个数据库上使用多个 YouTrack 实例吗?
- azure - SQL Azure Serverless 配置问题
- r - 更改 tbl_regression/tbl_uvregression 和 tbl_summary 中的默认变量值显示?#gtsummary
- elasticsearch - 如何在elasticsearch中做两个嵌套对象聚合?
- excel - 模糊字符串匹配 Excel
- scala - 从细化中获取正在细化的类
- ios - 在单击事件后更改 UiButton ImageView.alpha 中,如何保留以前的 alpha?
- kubernetes - 如何在 kubernetes 中调试与 istio 的 mTLS 通信?
- c# - 获取点后有多少个十进制数字
- python - 没有这样的文件或目录:'gdal-config'