如何在量角器中找到ng-repeat内的元素

时间:2014-06-24 08:34:22

标签: angularjs protractor

我有以下html:

<li ng-repeat="item in items">
    Some Test
    <span class="bubble-grey">
        {{ item }}
    </span>
</li>

如何找到&#34; .bubble-grey&#34;跨度在量角器中的第一个ng-repeat元素内?

我试过了:

element.all(by.repeater('item in items')).get(0).findElement(by.css(".bubble-grey")).getText()

但我得到&#34; TypeError:对象[object Object]没有方法&#39; findElement&#39;&#34;

3 个答案:

答案 0 :(得分:11)

您无需再次“找到”该元素。 尝试使用元素资源管理器

打开元素资源管理器并导航到所需的页面:

cd \node_modules\protractor\bin
node ./elementexplorer.js <your url>

然后尝试这个命令:

element.all(by.repeater('item in items')).get(0).getText()

我认为它不会显示任何文字,因为html中没有文字。

如果您想获得“Some Test”文本,请尝试:

element(by.repeater('item in items')).getText()

答案 1 :(得分:3)

查看API,而不是:

.findElement(by.css(".bubble-grey"));

你想要:

.element(by.css(".bubble-grey"));

答案 2 :(得分:1)

使用重复中的$ index为你的跨度提供一个id属性,然后你可以直接跳转到它们。

<span class="bubble-grey" id="item_{{$index}}">
    {{ item }}
</span>