dealfront_enrichment.py aktualisiert

This commit is contained in:
2025-07-03 11:22:15 +00:00
parent 03b263e7d3
commit f58bc99d60

View File

@@ -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.")
logger.info("Dealfront Automatisierung beendet.")