dealfront_enrichment.py aktualisiert

This commit is contained in:
2025-07-08 19:20:09 +00:00
parent f1f6d352bb
commit 34a97f8016

View File

@@ -25,27 +25,34 @@ class DealfrontScraper:
self.password = password
def login_and_find_list(self, search_name):
# 1) Login-Seite aufrufen
self.driver.get("https://app.dealfront.com/login")
# 2) Auf E-Mail-/Username-Feld warten, dann befüllen
# 1) Login-Seite öffnen & Credentials absenden
self.driver.get(LOGIN_URL)
self.wait.until(EC.visibility_of_element_located(
(By.CSS_SELECTOR, "input[type='email'], input[type='text']")
))
email_in = self.driver.find_element(By.CSS_SELECTOR, "input[type='email'], input[type='text']")
pwd_in = self.driver.find_element(By.CSS_SELECTOR, "input[type='password']")
email_in.clear(); email_in.send_keys(self.username)
pwd_in.clear(); pwd_in.send_keys(self.password)
# 3) Absenden
self.driver.find_element(By.CSS_SELECTOR, "input[type='email'], input[type='text']")\
.send_keys(self.username)
self.driver.find_element(By.CSS_SELECTOR, "input[type='password']")\
.send_keys(self.password)
self.driver.find_element(By.CSS_SELECTOR, "button[type='submit']").click()
# 4) Auf den Quick-Link "Prospects finden" warten und klicken
self.wait.until(EC.element_to_be_clickable((By.LINK_TEXT, "Prospects finden")))
self.driver.find_element(By.LINK_TEXT, "Prospects finden").click()
# 5) Auf die Liste der Suchen warten und dort die gewünschte anklicken
self.wait.until(EC.element_to_be_clickable((By.LINK_TEXT, search_name)))
self.driver.find_element(By.LINK_TEXT, search_name).click()
# 6) Auf das erste Daten-Element warten, damit die Tabelle geladen ist
first_locator = (By.CSS_SELECTOR, ".sticky-column a.t-highlight-text")
self.wait.until(EC.visibility_of_element_located(first_locator))
# 2) Quick-Link "Prospects finden" über XPath anklicken
prospects_btn = self.wait.until(EC.element_to_be_clickable((
By.XPATH,
"//a[normalize-space()='Prospects finden']"
)))
prospects_btn.click()
# 3) Gesuchte vordefinierte Suche anklicken
search_btn = self.wait.until(EC.element_to_be_clickable((
By.XPATH,
f"//a[normalize-space()='{search_name}']"
)))
search_btn.click()
# 4) Auf erstes Daten-Element warten
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):