Ergänzung um hat gekauft
Erweiterung, dass Käufer ausgeschlossen werden.
This commit is contained in:
@@ -18,7 +18,7 @@ OUTPUT_DIR = 'output'
|
||||
OUTPUT_FILE = os.path.join(OUTPUT_DIR, 'supermailer_fertige_liste.csv')
|
||||
LOGIN_URL = 'https://app.fotograf.de/login/login'
|
||||
|
||||
# --- Selektoren ---
|
||||
# --- Selektoren (FINALE, VOLLSTÄNDIGE VERSION) ---
|
||||
SELECTORS = {
|
||||
"cookie_accept_button": "#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll",
|
||||
"login_user": "#login-email",
|
||||
@@ -32,6 +32,8 @@ SELECTORS = {
|
||||
"person_vorname": ".//span[text()='Vorname']/following-sibling::strong",
|
||||
"person_logins": ".//span[text()='Logins']/following-sibling::strong",
|
||||
"person_access_code_link": ".//a[contains(@data-qa-id, 'guest-access-banner-access-code')]",
|
||||
# NEU: Selector zur Überprüfung, ob ein Kauf getätigt wurde
|
||||
"purchase_icon": ".//img[@alt='Bestellungen mit diesem Foto']",
|
||||
"potential_buyer_link": "//a[contains(@href, '/config_customers/view_customer')]",
|
||||
"quick_login_url": "//a[@id='quick-login-url']",
|
||||
"buyer_email": "//span[contains(., '@')]"
|
||||
@@ -167,7 +169,22 @@ def process_full_job(driver, job_url):
|
||||
|
||||
if int(login_count_text) <= 1:
|
||||
vorname = person_row.find_element(By.XPATH, SELECTORS["person_vorname"]).text
|
||||
print(f" --> ERFOLG: '{vorname}' mit {login_count_text} Login(s) gefunden!")
|
||||
|
||||
# --- NEUE KAUF-PRÜFUNG ---
|
||||
try:
|
||||
# Finde den Foto-Container, der dem Info-Block folgt
|
||||
photo_container = person_row.find_element(By.XPATH, "./following-sibling::div[1]")
|
||||
# Prüfe, ob darin ein Warenkorb-Icon existiert
|
||||
purchase_icons = photo_container.find_elements(By.XPATH, SELECTORS["purchase_icon"])
|
||||
if len(purchase_icons) > 0:
|
||||
print(f" --> INFO: '{vorname}' hat bereits gekauft. Überspringe.")
|
||||
continue # Springe zur nächsten Person
|
||||
except NoSuchElementException:
|
||||
# Kein Foto-Container gefunden, also auch kein Kauf
|
||||
pass
|
||||
# --- ENDE KAUF-PRÜFUNG ---
|
||||
|
||||
print(f" --> ERFOLG: '{vorname}' mit {login_count_text} Login(s) gefunden (und kein Kauf).")
|
||||
|
||||
access_code_page_url = person_row.find_element(By.XPATH, SELECTORS["person_access_code_link"]).get_attribute('href')
|
||||
driver.get(access_code_page_url)
|
||||
|
||||
Reference in New Issue
Block a user