Ergänzung um hat gekauft

Erweiterung, dass Käufer ausgeschlossen werden.
This commit is contained in:
2025-07-17 10:31:40 +00:00
parent ca9fc95d1d
commit 4255ee875d

View File

@@ -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)