dealfront_enrichment.py aktualisiert
This commit is contained in:
@@ -174,8 +174,9 @@ class DealfrontScraper:
|
|||||||
|
|
||||||
# Suche nach dem Weiter-Button
|
# Suche nach dem Weiter-Button
|
||||||
next_button = None
|
next_button = None
|
||||||
for idx, btn in enumerate(buttons):
|
for i, r in enumerate(all_rows):
|
||||||
btn_html = btn.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}...")
|
||||||
if ("svg" in btn_html) and ("disabled" not in btn.get_attribute('class')) and (btn.text.strip() == ""):
|
if ("svg" in btn_html) and ("disabled" not in btn.get_attribute('class')) and (btn.text.strip() == ""):
|
||||||
next_button = btn
|
next_button = btn
|
||||||
logger.info(f"Als Weiter-Button erkannt: Button {idx}")
|
logger.info(f"Als Weiter-Button erkannt: Button {idx}")
|
||||||
@@ -215,6 +216,13 @@ class DealfrontScraper:
|
|||||||
self.wait.until(page_changed)
|
self.wait.until(page_changed)
|
||||||
logger.info("Seitenwechsel erfolgreich verifiziert (erste Zeile hat neue ID oder neuen Text).")
|
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:
|
except Exception as e:
|
||||||
logger.error(f"Fehler beim Klicken auf den Weiter-Button oder beim Warten auf neue Seite: {e}")
|
logger.error(f"Fehler beim Klicken auf den Weiter-Button oder beim Warten auf neue Seite: {e}")
|
||||||
# Screenshot und HTML speichern
|
# Screenshot und HTML speichern
|
||||||
@@ -226,12 +234,13 @@ class DealfrontScraper:
|
|||||||
logger.info(f"Screenshot und HTML der Seite nach Pagination-Fehler gespeichert.")
|
logger.info(f"Screenshot und HTML der Seite nach Pagination-Fehler gespeichert.")
|
||||||
except Exception as ee:
|
except Exception as ee:
|
||||||
logger.error(f"Fehler beim Speichern von Screenshot/HTML: {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:
|
try:
|
||||||
all_rows = self.driver.find_elements(By.CSS_SELECTOR, "table#t-result-table tbody tr")
|
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.")
|
logger.info(f"Nach Pagination-Fehler: Es sind {len(all_rows)} Zeilen im DOM.")
|
||||||
for i, r in enumerate(all_rows):
|
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:
|
except Exception as eee:
|
||||||
logger.error(f"Fehler beim Loggen der Zeilen nach Fehler: {eee}")
|
logger.error(f"Fehler beim Loggen der Zeilen nach Fehler: {eee}")
|
||||||
break
|
break
|
||||||
|
|||||||
Reference in New Issue
Block a user