如何使用geb验证初始文本

时间:2015-12-17 10:02:19

标签: spock geb

我正在使用geb spoke。对于下面的html结构,我无法从指定位置获取文本: 下面是html结构:

<div class="tab-pane ng-scope active" uib-tab-content-transclude="tab" ng-class="{active: tab.active}" ng-repeat="tab in tabs">
                                                <div id="algemeen-tab-header" class="ng-tab-hdr ng-scope"></div>
                                                <div id="algemeen-tab-body" class="ng-tab-bdy table-view ng-scope">
                                                    <table class="ng-tbl valign-top">
                                                        <tbody class="esuite-table-body">
                                                            <tr>
                                                                <td class="tp-label">
                                                                    <label class="ng-binding">

                                                                        Reference:

                                                                    </label>
                                                                </td>
                                                                <td class="tp-field ng-binding">

                                                                    I-5006-2015

                                                                </td>
                                                                <td class="tp-label ng-hide" ng-show="!zaak.anoniem"></td>
                                                                <td class="tp-field ng-binding ng-hide" ng-show="!zaak.anoniem"></td>
                                                                <td class="tp-label" ng-show="zaak.anoniem"></td>
                                                                <td class="tp-field ng-binding" ng-show="zaak.anoniem"></td>
                                                                <td class="tp-label"></td>
                                                                <td class="tp-field ng-binding"></td>
                                                            </tr>
                                                            <tr></tr>
                                                            <tr></tr>
                                                            <tr></tr>
                                                            <tr></tr>
                                                            <tr></tr>
                                                            <tr></tr>
                                                            <tr></tr>
                                                        </tbody>
                                                    </table>
                                                </div>
                                            </div>

我想验证文字&#34; I-5006-2015&#34;。我无法做到。另外,第二种情况是,我只想断言最初的单词是&#34;我&#34;从那个位置。我怎么能这样做 我试过下面的变量来获取位置但是失败了:

  referenceNumberText(wait:true){$("td", class: contains("tp-field ng-binding"))}

请帮我解决这个问题。谢谢!

1 个答案:

答案 0 :(得分:0)

由于您很少使用html ID,因此您的文本选择器将为:

$("#algemeen-tab-body > table > tbody > tr:nth-child(1) > td:nth-child(2)").text()

您是否考虑过命名<td>?例如:

<td id="referenceNumber" class="tp-field ng-binding">
   I-5006-2015
</td>

所以你的选择器就像$("#referenceNumber").text() ...

一样简单