erhalten Ich versuche, eine Anzahl von Spalten in einer Tabelle in ein Wörterbuch mit Selenium zu analysieren, aber was ich habe, scheint langsam. Ich verwende Python, Selenium 2.0 und webdriver.Chrome()Text einer Tabelle schnell in Selenium
table = self.driver.find_element_by_id("thetable")
# now get all the TR elements from the table
all_rows = table.find_elements_by_tag_name("tr")
# and iterate over them, getting the cells
for row in all_rows:
cells = row.find_elements_by_tag_name("td")
# slowwwwwwwwwwwwww
dict_value = {'0th': cells[0].text,
'1st': cells[1].text,
'2nd': cells[2].text,
'3rd': cells[3].text,
'6th': cells[6].text,
'7th': cells[7].text,
'10th': cells[10].text}
Das Problem scheint das 'text' Attribut jedes td Element zu bekommen. Gibt es einen schnelleren Weg?
Erhalten Sie eine Ausnahme? oder nur langsame Ausführung? Wenn es nur langsam ist, kann das Suchen von Elementen mit 'xpath' oder' css' etwas schneller sein. – Saifur
Keine Ausnahme, es dauert nur eine Weile, um jede Zeile zu verarbeiten. – PearSquirrel
Beachten Sie, dass row.find_elements_by_tag_name ziemlich schnell ist. Es ist nur der 'cells [#] .text', der alles verlangsamt – PearSquirrel