Robot Framework/Selenium: Xpath для подсчета только ключей

На приведенной ниже html-странице я пытаюсь написать ниже ключевые слова, но мне трудно получить точное количество ключей, используя общий xpath.

html это:

<table class="tabletext">
<tbody>
<tr>
<td style="font-weight:bold; font-size:large">Collector Information</td>
</tr>
</tbody>
</table>
<table class="tabletext">
<tbody>
<tr>
<td style="font-size:medium" colspan="2" align="left">
<table>
<tbody>
<tr>
<td></td>
</tr>
<tr>
<td style="color:Navy; font-size:20px; border-bottom: solid 1px black; " width="700px">General Application Statistics</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style="font-weight:bold; font-size:medium">Local Radios</td>
<td align="left">AA.5E.AZ.21.13.04[Z0136FBZ]</td>
</tr>
<tr>
<td style="font-weight:bold; font-size:medium">MAC Address</td>
<td align="left">91-99-99-0C-66-B2</td>
</tr>
<tr>
<td style="font-weight:bold; font-size:medium">Version</td>
<td align="left">14.48.24.0</td>
</tr>
<tr>
<td style="font-size:medium" colspan="2" align="left">
<table>
<tbody>
<tr>
<td></td>
</tr>
<tr>
<td style="color:Navy; font-size:20px; border-bottom: solid 1px black; " width="700px">Legacy Configuration</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style="font-weight:bold; font-size:medium">Default Geo Code</td>
<td align="left">AF.ZA.QE.23.23.1F</td>
</tr>
</tbody>
</table>

Это мои ключевые слова. Я могу получить соответствующий xpath в ключевом слове «Получить разделы информации о коллекторе». но я не могу получить правильный xpath, чтобы не получить ключи в «Получить значения из информационных разделов коллектора»

Obtain Collector Information Sections
    [Documentation]
    ${No_Of_Sections} =  get matching xpath count  //table[2]/tbody/tr[td/table/tbody/tr[2]/td[@style='color:Navy; font-size:20px; border-bottom: solid 1px black; ']]
    @{list} =   Create List
    : FOR   ${Count}  IN Range 1 ${No_Of_Sections}
    \  ${Section_Header_Name} = Get Value   //table[2]/tbody/tr[td/table/tbody/tr[2]/td[@style='color:Navy; font-size:20px; border-bottom: solid 1px black; ']][${Count}]
    \  ${Information_Section_${Count}} =  Obtain Values From Collector Information Sections   ${Section_Header_Name}
    \  log dictionary   ${Information_Section_${Count}}
    \  Append To List   ${list}  ${Information_Section_${Count}}


Obtain Values From Collector Information Sections
    [Documentation]
    [Arguments]  ${Section_Header_Name}
    ${Information_Section} =  Create Dictionary
    ${No_Of_Key_Value} =  get matching xpath count  //table[2]/tbody/tr[td/table/tbody/tr[2]/td[normalize-space(text())='${Section_Header_Name}']]/following-sibling::tr[1]/td
    : FOR  ${Count}   IN Range 1 ${No_Of_Key_Value}
    \  ${Key} =  Get Value   //table[2]/tbody/tr[td/table/tbody/tr[2]/td[normalize-space(text())='${Section_Header_Name}']]/following-sibling::tr[${Count}]/td[1]
    \  ${Value} =  Get Value   //table[2]/tbody/tr[td/table/tbody/tr[2]/td[normalize-space(text())='${Section_Header_Name}']]/following-sibling::tr[${Count}]/td[2]
    \  set to dictionary   ${Information_Section}    ${Key}   ${Value}
    [Return]  ${Information_Section}

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

${No_Of_Key_Value} =  get matching xpath count  //table[2]/tbody/tr[td/table/tbody/tr[2]/td[normalize-space(text())='${Section_Header_Name}']]/following-sibling::tr[1]/td

Над одним возвращается набор пар ключ-значение. Но мне нужно только количество ключей из раздела «Общая статистика приложений», чтобы перебирать цикл for.

Не могли бы вы помочь мне здесь! Заранее спасибо ..


person bbk    schedule 05.01.2018    source источник
comment
Можете ли вы уточнить, что вы подразумеваете под ключами и значениями и каков точный желаемый результат?   -  person Andersson    schedule 05.01.2018
comment
html-страница имеет 2 раздела, в каждом разделе есть несколько полей, таких как Local RadiosAA.5E.AZ.21.13.04[Z0136FBZ] и MAC Address91-99-99-0C-66-B2. Из этого, например. Локальное значение и MAC-адрес — это ключи, а AA.5E.AZ.21.13.04[Z0136FBZ]&91-99-99-0C-66-B2 — их значения. Я беру их в словарь. Поэтому, когда я хочу получить/напечатать, я передам ключ jus и соответствующее значение получит печать.   -  person bbk    schedule 06.01.2018