diff --git a/dealfront_enrichment.py b/dealfront_enrichment.py index 36e2c915..6e90e72d 100644 --- a/dealfront_enrichment.py +++ b/dealfront_enrichment.py @@ -123,14 +123,15 @@ class DealfrontScraper: try: logger.info("Extrahiere Ergebnisse von der aktuellen Seite...") results = [] - rows_selector = (By.CSS_SELECTOR, "table#t-result-table tbody tr[id]") - # Warte, bis mindestens eine Daten-Zeile im DOM ist (bis zu 15 Sekunden) - self.wait.until(EC.presence_of_all_elements_located(rows_selector)) - # Optionaler Minimal-Puffer für Rest-Rendering - time.sleep(1) - rows = self.driver.find_elements(*rows_selector) - logger.info(f"{len(rows)} Firmen-Datenzeilen zur Verarbeitung gefunden.") + rows_selector = (By.CSS_SELECTOR, "table#t-result-table tbody tr[id]") + # Warte, bis mindestens eine Daten-Zeile im DOM ist (bis zu 15 Sekunden) + self.wait.until(EC.presence_of_all_elements_located(rows_selector)) + # Optionaler Minimal-Puffer für Rest-Rendering + time.sleep(1) + + rows = self.driver.find_elements(*rows_selector) + logger.info(f"{len(rows)} Firmen-Datenzeilen zur Verarbeitung gefunden.") for i, row in enumerate(rows, 1): try: @@ -150,8 +151,10 @@ class DealfrontScraper: except NoSuchElementException: logger.warning(f"Zeile {i}: Name oder Webseite nicht extrahierbar. Überspringe.") continue + logger.info(f"Extraktion abgeschlossen. {len(results)} Firmen gefunden.") return results + except Exception as e: logger.error(f"Schwerwiegender Fehler bei der Extraktion: {type(e).__name__}", exc_info=True) self._save_debug_artifacts()