dealfront_enrichment.py aktualisiert
This commit is contained in:
@@ -61,17 +61,25 @@ class DealfrontScraper:
|
|||||||
logger.error(f"Fehler beim Parsen der Credentials-Datei: '{DEALFRONT_CREDENTIALS_FILE}'")
|
logger.error(f"Fehler beim Parsen der Credentials-Datei: '{DEALFRONT_CREDENTIALS_FILE}'")
|
||||||
return None, None
|
return None, None
|
||||||
|
|
||||||
def _save_error_screenshot(self):
|
def _save_debug_artifacts(self):
|
||||||
"""Speichert einen Screenshot im Fehlerfall in das definierte OUTPUT_DIR mit Zeitstempel."""
|
"""Speichert einen Screenshot UND den HTML-Quellcode im Fehlerfall."""
|
||||||
try:
|
try:
|
||||||
# Sicherstellen, dass der Ausgabeordner im Container existiert
|
|
||||||
os.makedirs(OUTPUT_DIR, exist_ok=True)
|
os.makedirs(OUTPUT_DIR, exist_ok=True)
|
||||||
timestamp = time.strftime("%Y%m%d-%H%M%S")
|
timestamp = time.strftime("%Y%m%d-%H%M%S")
|
||||||
filepath = os.path.join(OUTPUT_DIR, f"login_error_{timestamp}.png")
|
|
||||||
self.driver.save_screenshot(filepath)
|
# 1. Screenshot speichern
|
||||||
logger.error(f"Screenshot '{filepath}' wurde für die Analyse gespeichert.")
|
screenshot_filepath = os.path.join(OUTPUT_DIR, f"error_{timestamp}.png")
|
||||||
except Exception as e_ss:
|
self.driver.save_screenshot(screenshot_filepath)
|
||||||
logger.error(f"Konnte Screenshot nicht speichern: {e_ss}")
|
logger.error(f"Screenshot '{screenshot_filepath}' wurde für die Analyse gespeichert.")
|
||||||
|
|
||||||
|
# 2. HTML-Quellcode speichern
|
||||||
|
html_filepath = os.path.join(OUTPUT_DIR, f"error_{timestamp}.html")
|
||||||
|
with open(html_filepath, "w", encoding="utf-8") as f:
|
||||||
|
f.write(self.driver.page_source)
|
||||||
|
logger.error(f"HTML-Quellcode '{html_filepath}' wurde für die Analyse gespeichert.")
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"Konnte Debug-Artefakte nicht speichern: {e}")
|
||||||
|
|
||||||
def login(self):
|
def login(self):
|
||||||
"""
|
"""
|
||||||
@@ -125,7 +133,7 @@ class DealfrontScraper:
|
|||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.critical(f"Ein Fehler ist während des Logins aufgetreten: {type(e).__name__}", exc_info=True)
|
logger.critical(f"Ein Fehler ist während des Logins aufgetreten: {type(e).__name__}", exc_info=True)
|
||||||
self._save_error_screenshot()
|
self._save_debug_artifacts()
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def close(self):
|
def close(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user