Watir: Как получить доступ к таблице без идентификатора или имени - PullRequest
4 голосов
/ 08 августа 2010

Я пытаюсь написать свой сценарий watir, чтобы получить следующие данные (заголовки тела таблицы и данные строки таблицы, но у меня возникают проблемы при попытке выяснить, как получить доступ к таблице. (Как только я это получу, остальноеэто кусок пирога).

Может кто-нибудь придумать что-нибудь, что поможет мне получить доступ к столу? У него нет имени или идентификатора ...

<div id="income">
    <table class="tHe" cellspacing="0">
    <thead>
        <tr>
            <th id="companyLabel" class="tFirst" style="width:30%"> Quarter Ending  </th>
            <th id="201004" class="tFirst right">Apr&nbsp;10 </th>
            <th id="201001" class="tFirst right">Jan&nbsp;10 </th>
            <th id="200910" class="tFirst right">Oct&nbsp;09 </th>
            <th id="200907" class="tFirst right">Jul&nbsp;09 </th>
            <th id="200904" class="tFirst right">Apr&nbsp;09 </th>
        </tr>
    </thead>

    <tbody id="revenueBody">
    <tr>
        <td  class="indtr">Totals</dfn></td>
        <td class="right">2849.00</td>
        <td class="right">3177.00</td>
        <td class="right">5950.00</td>
        <td class="right">4451.00</td>
        <td class="right">3351.00</td>
    </tr>
    ...

Ответы [ 3 ]

6 голосов
/ 08 августа 2010

ie.table (: class => 'tHe') должно работать, если нет других таблиц с таким же именем класса

ie.table (: after ?, ie.div (: id,'come)')) должно работать, если нет другого div с идентификатором' доход '

или ie.table (: index => 0) - вам нужно проверить страницу, чтобы увидеть, какое значение индекса подходит для вашей таблицыесть.

5 голосов
/ 09 августа 2010

Но подождите, это еще не все!:)

browser.div(:id => "income").table(:class => 'tHe')
browser.div(:id => "income").table(:index => 1)
...
3 голосов
/ 09 августа 2010

Существует также XPath, если вы застряли.

Если вы запускаете страницу и получаете к ней доступ через Firebug или собственные инструменты разработчика вашего браузера, вы можете найти выражение xpath для таблицы и затем вставить его в вызов API Watir.

Я думаю, что в более поздних версиях Watir 1.5.x появилась поддержка расширенного запроса страниц (в основном ваша проблема, когда нет идентификаторов). Эта страница на wiki watir должна помочь: Доступные способы идентификации элемента HTML

...