From e47bb77e9d70ea8f4541dd711ee807ee76042320 Mon Sep 17 00:00:00 2001 From: Floke Date: Thu, 10 Jul 2025 11:31:33 +0000 Subject: [PATCH] dealfront_enrichment.py aktualisiert --- dealfront_enrichment.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/dealfront_enrichment.py b/dealfront_enrichment.py index 10d171f9..0a67c7d7 100644 --- a/dealfront_enrichment.py +++ b/dealfront_enrichment.py @@ -47,17 +47,18 @@ class DealfrontScraper: self.pwd = pwd def login_and_select_search(self): - # 1) Login-Seite aufrufen + # 1) Login abschließen self.driver.get(LOGIN_URL) self.wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "input[type='email'],input[type='text']"))) - - # 2) Credentials eintragen self.driver.find_element(By.CSS_SELECTOR, "input[type='email'],input[type='text']").send_keys(self.user) self.driver.find_element(By.CSS_SELECTOR, "input[type='password']").send_keys(self.pwd) self.driver.find_element(By.CSS_SELECTOR, "button[type='submit']").click() - # 3) Auf Target-Tab klicken - self.wait.until(EC.element_to_be_clickable((By.LINK_TEXT, TARGET_TAB))).click() + # 2) Warte kurz auf URL-Wechsel nach Login + self.wait.until(lambda d: d.current_url != LOGIN_URL) + + # 3) Direkt zur Target-Übersichtsseite navigieren + self.driver.get("https://app.dealfront.com/target") # 4) Sidebar mit Such-List laden sidebar_sel = "ul[data-userpilot-id='sidebar-searches-list']" @@ -68,10 +69,12 @@ class DealfrontScraper: el = self.wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, div_sel))) self.driver.execute_script("arguments[0].click()", el) - # 6) Kurzes Warten, bis erste Zeile da ist - self.wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "a.t-highlight-text.t-highlight-text-snippet"))) + # 6) Erstes Daten-Element abwarten + first = (By.CSS_SELECTOR, ".sticky-column a.t-highlight-text") + self.wait.until(EC.visibility_of_element_located(first)) time.sleep(1) + def extract_current_page_results(self): # 1) Kurz Implicit-Wait absenken self.driver.implicitly_wait(1)