Seite 1 von 1

Selenium findet Element nicht

Verfasst: Dienstag 20. Oktober 2020, 13:10
von RetroSans
Ich möchte die aktuellen Corona-Falldaten eines Gesundheitsamts mittels Selenium laden, aber leider findet Selenium das entsprechende Element für den Download nicht. Der Hyperlink mit dem Text "Daten herunterladen" befindet sich unter dem Diagramm auf der entsprechenden Website.

Zu findendes HTML-Element:

Code: Alles auswählen


<a class="dw-data-link" aria-label="Daten herunterladen: Coronavirus: Entwicklung der Fallzahlen in Chemnitz" 
	href="data:application/octet-stream;charset=utf-8,Datum%2Cbest%C3%MoreAndMoreA19.10.2020%2C540%2C35%2C7" download="data-x97qw.csv">
Daten herunterladen
</a>

Minimalbeispiel:

Code: Alles auswählen

import os
import time
from selenium import webdriver

fp = webdriver.FirefoxProfile()

fp.set_preference("browser.download.folderList", 2)
fp.set_preference("browser.download.manager.showWhenStarting", False)
fp.set_preference("browser.download.dir", os.getcwd())
fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream")

browser = webdriver.Firefox(firefox_profile=fp)
url_chemnitz = "https://www.chemnitz.de/chemnitz/de/leben-in-chemnitz/gesundheit" \
               "/gesundheitsschutz/coronavirus/index.html"
browser.get(url_chemnitz)

# Cookie-Banner 
browser.find_element_by_class_name("cc_accept_all").click()

time.sleep(1)

browser.find_element_by_class_name("dw-data-link").click()
# browser.find_element_by_xpath('//a[@class="dw-data-link"]').click()
# browser.find_element_by_link_text("Daten herunterladen").click()
Dies liefert folgende Fehlermeldung: selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: .dw-data-link