From 4e3b4061b8d0c4094bcff501e721365ef92ef428 Mon Sep 17 00:00:00 2001 From: Floke Date: Sun, 13 Jul 2025 15:00:37 +0000 Subject: [PATCH] dealfront_enrichment.py aktualisiert --- dealfront_enrichment.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/dealfront_enrichment.py b/dealfront_enrichment.py index 770910db..d1dea62f 100644 --- a/dealfront_enrichment.py +++ b/dealfront_enrichment.py @@ -174,8 +174,9 @@ class DealfrontScraper: # Suche nach dem Weiter-Button next_button = None - for idx, btn in enumerate(buttons): - btn_html = btn.get_attribute('outerHTML') + for i, r in enumerate(all_rows): + html_snippet = r.get_attribute('outerHTML')[:120].replace('\n', ' ') + logger.info(f"Zeile {i}: Text='{r.text.strip()}', HTML-Start={html_snippet}...") if ("svg" in btn_html) and ("disabled" not in btn.get_attribute('class')) and (btn.text.strip() == ""): next_button = btn logger.info(f"Als Weiter-Button erkannt: Button {idx}") @@ -215,6 +216,13 @@ class DealfrontScraper: self.wait.until(page_changed) logger.info("Seitenwechsel erfolgreich verifiziert (erste Zeile hat neue ID oder neuen Text).") + # NEU: Logge die aktuelle aktive Seite + try: + active_page = self.driver.find_element(By.CSS_SELECTOR, "a.eb-pagination-button.active").text.strip() + logger.info(f"Aktive Seite nach Pagination: {active_page}") + except Exception as e: + logger.warning(f"Konnte aktive Seite nach Pagination nicht ermitteln: {e}") + except Exception as e: logger.error(f"Fehler beim Klicken auf den Weiter-Button oder beim Warten auf neue Seite: {e}") # Screenshot und HTML speichern @@ -226,12 +234,13 @@ class DealfrontScraper: logger.info(f"Screenshot und HTML der Seite nach Pagination-Fehler gespeichert.") except Exception as ee: logger.error(f"Fehler beim Speichern von Screenshot/HTML: {ee}") - # Zusätzlich: Logge alle Zeilen nach dem Fehler + # Zusätzlich: Logge alle Zeilen nach dem Fehler (nur Text und HTML-Start) try: all_rows = self.driver.find_elements(By.CSS_SELECTOR, "table#t-result-table tbody tr") logger.info(f"Nach Pagination-Fehler: Es sind {len(all_rows)} Zeilen im DOM.") for i, r in enumerate(all_rows): - logger.info(f"Zeile {i}: Text='{r.text.strip()}', HTML={r.get_attribute('outerHTML')}") + html_snippet = r.get_attribute('outerHTML')[:120].replace('\n', ' ') + logger.info(f"Zeile {i}: Text='{r.text.strip()}', HTML-Start={html_snippet}...") except Exception as eee: logger.error(f"Fehler beim Loggen der Zeilen nach Fehler: {eee}") break