From eee03027f202a0d038d61abf6bfa753d4f81ae96 Mon Sep 17 00:00:00 2001 From: Floke Date: Thu, 3 Jul 2025 11:22:15 +0000 Subject: [PATCH] dealfront_enrichment.py aktualisiert --- dealfront_enrichment.py | 46 +++++++++++++++++++++++++++-------------- 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/dealfront_enrichment.py b/dealfront_enrichment.py index 42da3f3e..023ed669 100644 --- a/dealfront_enrichment.py +++ b/dealfront_enrichment.py @@ -222,29 +222,45 @@ class DealfrontScraper: self.driver.quit() if __name__ == "__main__": - logger.info("Starte Dealfront Automatisierung - Phase 2: Test der Ziellisten-Navigation") - - # Der Name der Zielliste, die wir testen wollen - TARGET_LIST_NAME = "vending_slot" + logger.info("Starte Dealfront Automatisierung - Phase 2a: Suche und Extraktion") scraper = None try: scraper = DealfrontScraper() if scraper.driver: - if scraper.login(): - logger.info("Login erfolgreich. Starte Navigation zur Zielliste...") - if scraper.navigate_to_target_list(TARGET_LIST_NAME): - logger.info(f"Erfolgreich zur Liste '{TARGET_LIST_NAME}' navigiert. Wir sind bereit für die Extraktion.") - # Kurze Pause, damit wir das Ergebnis sehen können - time.sleep(5) - else: - logger.error("Navigation zur Zielliste ist fehlgeschlagen.") + # Schritt 1: Login + if not scraper.login(): + raise Exception("Login fehlgeschlagen.") + + logger.info("Login erfolgreich. Pausiere kurz vor der Navigation.") + time.sleep(3) + + # Schritt 2: Navigation + if not scraper.navigate_to_target(): + raise Exception("Navigation zur Target-Seite fehlgeschlagen.") + + # Schritt 3: Suche laden + if not scraper.load_search(Config.TARGET_SEARCH_NAME): + raise Exception(f"Laden der Suche '{Config.TARGET_SEARCH_NAME}' fehlgeschlagen.") + + # Schritt 4: Ergebnisse extrahieren + companies = scraper.extract_current_page_results() + + if companies: + logger.info("===== Extrahierte Firmen (erste Seite) =====") + for company in companies: + logger.info(f" - Name: {company['name']}, Webseite: {company['website']}") + logger.info("===========================================") else: - logger.error("Login-Prozess ist fehlgeschlagen.") + logger.warning("Keine Firmen auf der ersten Seite extrahiert.") + + logger.info("Phase 2a Test erfolgreich abgeschlossen. Warte vor dem Schließen...") + time.sleep(10) + except Exception as e: - logger.critical(f"Ein kritischer Fehler ist im Hauptprozess aufgetreten.", exc_info=True) + logger.critical(f"Ein kritischer Fehler ist im Hauptprozess aufgetreten: {e}", exc_info=False) finally: if scraper: scraper.close() - logger.info("Test der Ziellisten-Navigation beendet.") \ No newline at end of file + logger.info("Dealfront Automatisierung beendet.") \ No newline at end of file