I'm trying to save a csv file by clicking the download csv button on a website. However, I noticed the .click() action not doing anything, and I found that the class-name of the button changes from 'export-button is-csv' to 'export-button is-csv hovering.' However, when I try find_element_by_class_name() on the new class name, it returns an error saying it's not there. Here's my code:
driver = webdriver.Chrome('chromedriver',options=options)
driver.get('https://www.rotowire.com/basketball/injury-report.php')
time.sleep(1)
download_csv=driver.find_element_by_class_name('export-button.is-csv')
download_csv.find_element_by_class_name('export-button.is-csv.hovering').click()
Here is the error message I receive:
Message: no such element: Unable to locate element: {"method":"css selector","selector":".export-button is-csv.hovering"}
(Session info: headless chrome=94.0.4606.71)
Was wondering what the specific fix to this is(am using Google Colabs and am new to Selenium).
Just get the table straight from the source then use pandas to convert to dataframe and write to disk:
import requests
import pandas as pd
url = 'https://www.rotowire.com/basketball/tables/injury-report.php?team=ALL&pos=ALL'
jsonData = requests.get(url).json()
df = pd.DataFrame(jsonData)
df.to_csv('file.csv', index=False)