我有以下HTML:
<tr id="resultsRepeaterGrid">
<tr id="tableheader"></tr>
<tr id="Data list1_datarow">
<div style>row 1</div>
<tr id = "expanded row"></tr>
</tr>
<tr id="Data list2_datarow">
<div style>row 2</div>
<tr id = "expanded row"></tr>
</tr>
<tr id="Data list3_datarow">
<div style>row 1</div>
<tr id = "expanded row"></tr>
</tr>
</tr>
&#13;
我想要的是获取<tr>
的所有<tr>
的孩子的计数,其ID为'resultsRepeaterGrid'
。您可以在protractor
代码下面找到:
var searchResCount = element.all(by.id('resultsRepeaterGrid'))
expect(searchResCount.count()).toEqual(3);
&#13;
但是我收到错误
预期1等于3.
我想丢弃和部分因为我只打算计算datalist_datarow下的结果行。感谢
答案 0 :(得分:1)
这是一个基于上面dom结构的选择器。
var searchResCount = element.all(by.css('#resultsRepeaterGrid > tr:not(.tableheader)'))
expect(searchResCount.count()).toEqual(3);
但是,您很可能遇到时间问题。你可以尝试这样的事情:
browser.wait(function() {
return element(by.css('#Data')).isDisplayed();
}, 10000);
答案 1 :(得分:0)
您的查询必须选择行,现在您只选择表元素,因此它的计数为1.
更改您的选择器以包含tr元素:
element.all(by.css('#resultsRepeaterGrid > tr'))