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