Количество строк Selenium в таблице?

#python #selenium #count #html-table #lines

#питон #selenium #считать #html-таблица #строки #python #количество

Вопрос:

У меня есть такая структура :

 <table>
<tbody>
    <tr id="1_2011_11_11_07_45_00" class="on">
    </tr>
    <tr id="1_2011_11_11_09_25_00">
    </tr>
    <tr id="1_2011_11_11_11_05_00">
    </tr>
    <tr id="1_2011_11_11_14_50_00">
    </tr>
    <tr id="1_2011_11_11_16_00_00">
    </tr>
    <tr id="1_2011_11_11_18_10_00">
    </tr>
    <tr id="1_2011_11_11_21_30_00">
    </tr>
</tbody>
  

и я хотел бы подсчитать количество строк, которые находятся в таблице. Я использую Python для скрипта.
xpath таблицы равен :

xpath=/html/тело/форма/div[3]/div/div/div[2]/div/div/таблица

Кто-нибудь может мне помочь?

Ответ №1:

Также может быть выполнено через get_xpath_count. например Number_of_row = $browser.get_xpath_count(«/tbody/tr»)

Я не проверял приведенный выше код, но я думаю, что это сработает

Комментарии:

1. Большое спасибо! однако на моей странице 2 таблицы имеют почти одинаковый Xpath, у другой есть: xpath=/html/body /form/div[3]/div/div/div[2]/div[2] /div / table, и для этого требуется подсчет обоих, я не знаю почему

2. Это может быть связано с тем, что xpath_count для «/ tbody» равен 2. Следовательно, берется значение «tr» для обоих «/ tbody». Попробуйте указать абсолютный xpath для таблицы, которую вы хотите посчитать

Ответ №2:

 s = """<table>
<tbody>
    <tr id="1_2011_11_11_07_45_00" class="on">
    </tr>
    <tr id="1_2011_11_11_09_25_00">
    </tr>
    <tr id="1_2011_11_11_11_05_00">
    </tr>
    <tr id="1_2011_11_11_14_50_00">
    </tr>
    <tr id="1_2011_11_11_16_00_00">
    </tr>
    <tr id="1_2011_11_11_18_10_00">
    </tr>
    <tr id="1_2011_11_11_21_30_00">
    </tr>
</tbody>"""
import re
len(re.findall('tr',s))
  

Ответ №3:

Xpath содержит функцию count(<выражение набора узлов>).

Упрощая ваш пример, если бы ваша таблица была единственной таблицей в исходном коде html, то количество выражений xpath (//table //tr) возвращало бы число 7.