【问题标题】:Protractor - Get text from table量角器 - 从表格中获取文本
【发布时间】:2015-06-29 14:55:48
【问题描述】:

我在表格中有“案例”列表,我需要在其中仅按名称找到特定的案例并单击它。

我的 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();

应该找到元素并点击它,而不是抛出错误:

使用定位器找不到元素:by.cssContainingText("a", "20150629-165000-65")

有人可以告诉我怎么做吗?

【问题讨论】:

    标签: javascript testing selenium-webdriver protractor end-to-end


    【解决方案1】:

    有一个相关的by.linkText() 定位器应该适合用例:

    var link = element(by.linkText(global.caseNumber));
    

    如果仍然没有找到所需的元素,请尝试添加等待:

    var EC = protractor.ExpectedConditions;
    browser.wait(EC.presenceOf(link), 5000);
    

    【讨论】:

    • 一如既往的正确 :) 谢谢(会尽快标记)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-13
    相关资源
    最近更新 更多