Python Selenium - jak načíst všechna data z tabulky?

Python Selenium - jak načíst všechna data z tabulky?

Dobrý den, jaká je nejjednodušší varianta pro načtení všech dat z webové tabulky (table)? Potřebuji získat veškerý obsah z každé řádky (tr) a každého sloupce (td) pomocí Python Selenium. Tipuji to na nějaký cyklus a hledání pole elementů pomocí HTML tagu (find_elements_by_tag_name). Děkuji

ODPOVĚĎ

Dobrý den,

základní konstrukce pro stažení dat z tabulky v HTML stránce pomocí Python Selenium by mohla vypadat takto:


table = driver.find_element_by_tag_name('table')
rows = table.find_elements_by_tag_name('tr')
for row in rows:
cols = row.find_elements_by_tag_name('td')
for col in cols:
print(col.text)

Zkráceně: Nalezne element 'table', načte všechny elementy 'tr' a ty projdou cyklem. V cyklu je další cyklus na přečtení všech sloupců 'td'.

Pro zajímavost další příklady pro sběr dat z tabulek v HTML stránce pomocí Python Selenium:

Načíst všechny tabulky ve stránce


def getTables:
tables = driver.find_elements_by_tag_name('table')
count = len(tables)
print('Pocet tabulek: ', count)
for table in tables:
print(table.text)

Rozdíl mezi text / innerHTML


# jen čistá data mezi HTML tagy (bez HTML)
print(table.text))
# kompletní "raw" data (včetně HTML tagů)
print(table.get_attribute('innerHTML'))
Jak se ti článek líbil?

Komentáře (0)

Přidat komentář