Надеюсь, у вас все хорошо.
У меня проблема с извлечением строк таблицы с сайта по селену. На веб-сайте отображается 50 строк, но когда я их проверяю, их только 8. Сначала я не понял, в чем была проблема, но после такой большой борьбы я нашел проблему, но, похоже, не могу найти решение.
Итак, таблица загружает контент, когда я фокусируюсь на нем. Когда я не фокусируюсь на других строках, html выглядит следующим образом: Div Elements Когда не сфокусировано
<div class="x-grid3-row x-grid3-row-alt" style="width:1355px;height:34px;"></div>
Но когда я go в эти строки, он загружается содержимое и выгрузить предыдущие строки.
Div Элементы при фокусировке
Как видите, теперь видны маркеры, указывающие на то, что теперь загружены все дочерние элементы, когда я пошел / сосредоточился на этих строках.
Я попробовал этот метод, но дал мне только те строки, которые сфокусированы:
tables = driver.find_elements_by_xpath("//div[contains(@class,'x-grid3-row')]//tr")
print("Length: "+str(len(tables)))
for i, table in enumerate(tables):
data = [item.text for item in table.find_elements_by_xpath(".//*[self::td or self::th]")]
Кто-нибудь может мне помочь? Заранее спасибо
Отредактировано: Решение:
tables = driver.find_elements_by_xpath("//div[contains(@class,'x-grid3-row')]")
saved = []
for table in tables:
driver.execute_script("arguments[0].scrollIntoView();", table)
data = [item.text for item in table.find_elements_by_xpath(".//*[self::td or self::th]")]
print(data)
saved.append(data)
time.sleep(0.5)
print(len(saved))