量角器 - 从 table 获取文本
Protractor - Get text from table
我在 table 中有 "cases" 的列表,我需要通过 NAME 找到特定的列表并单击它。
我的 HTML 看起来像:
<tr ng-repeat-start="case in cases | orderBy:order:order_reverse" class="middle ng-scope odd readonly" ng-class-odd="'odd'" ng-class-even="'even'" ng-class="{readonly: !caseManager.isWritable(case)}">
<td>
<span ax-sharing-circle="SHARED_WITH_PARTNER" class="ng-isolate-scope"><span class="icon sharing-circle sharing-circle-left" title="Sdílený"></span></span>
</td>
<td class="case-table-claim-number fix-v-align">
<a ui-sref="case.general({caseId: case.caseId})" class="ng-binding" href="#/case/0a0b1c2a-94b4-444c-a2b8-c62cbd3532ae/general">20150629-165000-65</a>
</td>
<td class="case-table-claim-number fix-v-align ng-binding"></td>
<td class="case-table-claim-number fix-v-align ng-binding"></td>
<td class="case-table-make fix-v-align ng-binding"></td>
<td class="case-table-make fix-v-align ng-binding"></td>
<td class="case-table-status fix-v-align ng-binding">
29.6.2015
</td>
<td class="case-table-status fix-v-align ng-binding"></td>
<td>
<span class="glyphicon glyphicon-menu-down" ng-class="{
'glyphicon glyphicon-menu-up': hasOverview(case.caseId),
'glyphicon glyphicon-menu-down': !hasOverview(case.caseId),
}" ng-click="toggleOverview(case.caseId)"></span>
</td>
</tr>
在上面的示例中,您可以找到字符串 20150629-165000-65
,这是案例的名称。
我试着写这样的东西:
element(by.cssContainingText('a', global.caseNumber)).click();
它应该找到元素并点击它,而不是它抛出错误:
No element found using locator: by.cssContainingText("a", "20150629-165000-65")
有人可以告诉我该怎么做吗?
有一个相关的 by.linkText()
定位器应该适合用例:
var link = element(by.linkText(global.caseNumber));
如果仍然没有找到所需的元素,请尝试添加等待:
var EC = protractor.ExpectedConditions;
browser.wait(EC.presenceOf(link), 5000);
我在 table 中有 "cases" 的列表,我需要通过 NAME 找到特定的列表并单击它。
我的 HTML 看起来像:
<tr ng-repeat-start="case in cases | orderBy:order:order_reverse" class="middle ng-scope odd readonly" ng-class-odd="'odd'" ng-class-even="'even'" ng-class="{readonly: !caseManager.isWritable(case)}">
<td>
<span ax-sharing-circle="SHARED_WITH_PARTNER" class="ng-isolate-scope"><span class="icon sharing-circle sharing-circle-left" title="Sdílený"></span></span>
</td>
<td class="case-table-claim-number fix-v-align">
<a ui-sref="case.general({caseId: case.caseId})" class="ng-binding" href="#/case/0a0b1c2a-94b4-444c-a2b8-c62cbd3532ae/general">20150629-165000-65</a>
</td>
<td class="case-table-claim-number fix-v-align ng-binding"></td>
<td class="case-table-claim-number fix-v-align ng-binding"></td>
<td class="case-table-make fix-v-align ng-binding"></td>
<td class="case-table-make fix-v-align ng-binding"></td>
<td class="case-table-status fix-v-align ng-binding">
29.6.2015
</td>
<td class="case-table-status fix-v-align ng-binding"></td>
<td>
<span class="glyphicon glyphicon-menu-down" ng-class="{
'glyphicon glyphicon-menu-up': hasOverview(case.caseId),
'glyphicon glyphicon-menu-down': !hasOverview(case.caseId),
}" ng-click="toggleOverview(case.caseId)"></span>
</td>
</tr>
在上面的示例中,您可以找到字符串 20150629-165000-65
,这是案例的名称。
我试着写这样的东西:
element(by.cssContainingText('a', global.caseNumber)).click();
它应该找到元素并点击它,而不是它抛出错误:
No element found using locator: by.cssContainingText("a", "20150629-165000-65")
有人可以告诉我该怎么做吗?
有一个相关的 by.linkText()
定位器应该适合用例:
var link = element(by.linkText(global.caseNumber));
如果仍然没有找到所需的元素,请尝试添加等待:
var EC = protractor.ExpectedConditions;
browser.wait(EC.presenceOf(link), 5000);