Я пытаюсь сохранить список всех переключателей на странице, над которой я работаю. Количество радиокнопок будет меняться в зависимости от того, на каком номере страницы я нахожусь.
Прямо сейчас я использую приведенный ниже код, чтобы найти все совпадающие Xpaths и сохранить их в переменной.
*** Keywords ***
Count How Many RadioButtons On Page
${Count} Get Matching Xpath Count //tr
${CountList} Create List
: FOR ${INDEX} IN RANGE 1 ${Count}
\ Append To List ${CountList} xpath=//tr[${INDEX}]
log ${CountList}
Set Global Variable ${CountList}
Это хранит только 11 записей. Когда на странице на самом деле содержится 20. По какой-то причине на ней отсутствуют остальные 9, и я не могу понять, почему.
В итоге переменная CountList
выглядит так:
u'xpath=//tr[1]', u'xpath=//tr[2]', u'xpath=//tr[3]', u'xpath=//tr[4]', u'xpath=//tr[5]', u'xpath=//tr[6]', u'xpath=//tr[7]', u'xpath=//tr[8]', u'xpath=//tr[9]', u'xpath=//tr[10]', u'xpath=//tr[11]'
Этот список должен идти до //tr[20]
Я также могу подтвердить, что использование (например) //tr[12]
или более поздних версий будет работать правильно. Просто Get Matching Xpath Count
не тянет все 20 почему-то.
Кто-нибудь может пролить свет на это?
РЕДАКТИРОВАТЬ:
Ниже приведена часть HTML страницы, которую я пытаюсь подсчитать:
<tbody id="oKGQf0-rows">
<tr id="oKGQ_1" class="z-listitem z-listitem-selected">
<td id="oKGQ0q" class="z-listcell">
<div id="oKGQ0q-cave" class="z-listcell-content"><span id="oKGQ_1-cm" class="z-listitem-checkable z-listitem-radio"><i class="z-listitem-icon z-icon-radio"></i></span> P-DAC-15-790</div>
</td>
<td id="oKGQ1q" class="z-listcell">
<div id="oKGQ1q-cave" class="z-listcell-content">DATA</div>
</td>
<td id="oKGQ2q" class="z-listcell">
<div id="oKGQ2q-cave" class="z-listcell-content">..DATA</div>
</td>
<td id="oKGQ3q" class="z-listcell" title="AMD Contractors Work Permit">
<div id="oKGQ3q-cave" class="z-listcell-content">15</div>
</td>
<td id="oKGQ4q" class="z-listcell">
<div id="oKGQ4q-cave" class="z-listcell-content">i9</div>
</td>
<td id="oKGQ5q" class="z-listcell">
<div id="oKGQ5q-cave" class="z-listcell-content">DATA</div>
</td>
<td id="oKGQ6q" class="z-listcell">
<div id="oKGQ6q-cave" class="z-listcell-content"> </div>
</td>
<td id="oKGQ7q" class="z-listcell">
<div id="oKGQ7q-cave" class="z-listcell-content">26-06-2015 14:50</div>
</td>
<td id="oKGQ8q" class="z-listcell">
<div id="oKGQ8q-cave" class="z-listcell-content"> </div>
</td>
<td id="oKGQ9q" class="z-listcell">
<div id="oKGQ9q-cave" class="z-listcell-content"> </div>
</td>
</tr>
<tr id="oKGQ11" class="z-listitem z-listbox-odd">
</tr>
<tr id="oKGQ31" class="z-listitem">
</tr>
<tr id="oKGQ51" class="z-listitem z-listbox-odd">
</tr>
<tr id="oKGQ91" class="z-listitem z-listbox-odd">
</tr>
<tr id="oKGQb1" class="z-listitem">
</tr>
<tr id="oKGQd1" class="z-listitem z-listbox-odd">
</tr>
<tr id="oKGQf1" class="z-listitem">
</tr>
<tr id="oKGQh1" class="z-listitem z-listbox-odd">
</tr>
<tr id="oKGQj1" class="z-listitem">
</tr>
<tr id="oKGQl1" class="z-listitem z-listbox-odd">
</tr>
<tr id="oKGQn1" class="z-listitem">
</tr>
<tr id="oKGQp1" class="z-listitem z-listbox-odd">
</tr>
<tr id="oKGQr1" class="z-listitem">
</tr>
<tr id="oKGQt1" class="z-listitem z-listbox-odd">
</tr>
<tr id="oKGQv1" class="z-listitem">
</tr>
<tr id="oKGQx1" class="z-listitem z-listbox-odd">
</tr>
<tr id="oKGQz1" class="z-listitem">
</tr>
<tr id="oKGQ02" class="z-listitem z-listbox-odd">
</tr>
</tbody>
РЕДАКТИРОВАТЬ2:
Я обновил Get Matching Xpath Count
до //div[4]/table/tbody/tr
, чтобы быть немного более конкретным, и он по-прежнему считает только 11, а не 20.
РЕДАКТИРОВАТЬ3:
Если я выполняю тот же тест на 2-й странице, он работает совершенно нормально (возвращает 20 и перебирает 20 строк). Но нет никакой разницы между страницей 1 и 2...
${Count}
20 лет? - person ILostMySpoon   schedule 28.06.2017xpath
? - person ILostMySpoon   schedule 28.06.2017${Count}
содержит 12, что еще больше сбивает с толку!Get Matching Xpath Count
правильно считает? - person Goralight   schedule 28.06.2017xpath
, который вы пытаетесь подсчитать. - person ILostMySpoon   schedule 28.06.2017//tr
на текущей странице. Должно быть 20, а не 11. Или вы имеете в виду HTML? - person Goralight   schedule 28.06.2017td
внутри теговtr
, поэтому я оставил один в качестве примера, остальные следуют той же тенденции. - person Goralight   schedule 28.06.2017