Ich versuche zu lernen, wie man Daten von einer Website, die Daten durch einige Javascript in eine Tabelle lädt. Zum Beispiel ist die Website hereSo laden Sie CSV-Daten von einer Website mit Selenium
Ich habe Selen verwendet, um die Daten aus den Tabellen hier zu erhalten. Hier ist der Code:
browser = webdriver.PhantomJS()
wait = WebDriverWait(browser, 10)
browser.get(url) # using the page linked above
wait.until(EC.presence_of_element_located(
(By.ID, 'fancybox-outer')))
print("Page loaded")
browser.find_element_by_xpath(
'//div[contains(@class, "tabs")]/ul/li[text() = "All"]').click()
data_table = browser.find_element_by_xpath('//div[@class="grid-canvas"]')
for rows in data_table.find_elements_by_xpath(
'//div[contains(@class, "slick-row")]'):
row = rows.text.split('\n')
print(row)
Es werden jedoch nur die Teildaten abgerufen, da die Daten dynamisch in die Tabelle geladen werden, wenn die Tabelle gescrollt wird. Wie bekomme ich die Daten aus der "Alle" Tabelle, während ich mich um das Scrollen kümmere?
Es gibt auch eine "Export to CSV" -Datenschaltfläche am unteren Rand, die ich verwenden könnte, um die Daten zu erhalten, die ich brauche, aber ein click() Ereignis auf dieser Schaltfläche gibt mir nicht die CSV-Daten im Code . Wenn möglich, wäre es besser, diese CSV zu bekommen.