Селенное число строк в таблице?

1

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

<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/тело/форма/дела [3]/дела/дела/дела [2]/DIV/DIV/таблица

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

Теги:
selenium
html-table
count
lines

3 ответа

3
Лучший ответ

Также можно сделать через get_xpath_count. напр. Number_of_row = $ browser.get_xpath_count ("/tbody/tr")

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

  • 0
    Отлично, спасибо ! однако на моей странице 2 таблицы имеют почти одинаковый Xpath, у другой - xpath = / html / body / form / div [3] / div / div / div [2] / div [2] / div / table и его считает оба, я не знаю почему
  • 0
    Это может быть из-за того, что xpath_count для "/ tbody" равно 2. Следовательно, принимая значение "tr" для обоих "/ tbody". Попробуйте указать абсолютный xpath для таблицы, которую вы хотите посчитать
0

Xpath содержит функцию count (<node-set expr>).

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

0
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))

Ещё вопросы

Сообщество Overcoder
Наверх
Меню