dealfront_enrichment.py aktualisiert
This commit is contained in:
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user