ich möchte mein erstes Script schreiben und bin jetzt soweit, dass ich keine Fehlermeldung mehr erhalte.
Trotzdem passiert garnichts.
Chat GPT habe ich bereits bemüht um das Script zu erstellen und troubleshooting zu betreiben.
Nun bekomme ich aber keine Fehlermeldung mehr.
Grundsätzliche Idee:
Ich möchte ein Browser fenster mit vorgegeben URLs öffnen und in jedem Tab das gleiche machen.
Auf einen Knopf drücken. Name und Email eingeben. Nochmal auf einen knopf drücken.
Ein Popup öffnet sich, wo man nochmal auf einen Knopf drückt.
Als letztes.. Ihr ahnt es.. auf einen Knopf drücken..
Dann wird ein automatischer Download gestartet und ich möchte zum nächsten Tab.
Chat GPT hat mir bis jetzt das hier ausgespuckt:
Code: Alles auswählen
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import NoSuchElementException
# Funktion, um auf einen Knopf zu klicken und auf das nächste Element zu warten
def click_and_wait(driver, by, selector):
button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((by, selector)))
button.click()
# Funktion, um ein Element zu finden oder None zurückzugeben, wenn es nicht gefunden wird
def find_element_or_none(driver, by, selector):
try:
element = driver.find_element(by, selector)
return element
except NoSuchElementException:
return None
# Hauptfunktion, die die Schritte auf verschiedenen Websites in verschiedenen Tabs ausführt
def main():
# Pfad zum Chromedriver angeben
chromedriver_path = r'C:\Users\Emin\Desktop\Phyton\Maus Download\chromedriver.exe'
# z.B. 'C:/Pfad/zum/chromedriver.exe'
# Einstellungen für den Webdriver (hier wird Chrome verwendet)
driver = webdriver.Chrome(executable_path=chromedriver_path)
try:
# Liste von URLs
urls = [
"https://hypeddit.com/track/gaje6l",
"https://hypeddit.com/track/l4cj3w",
"https://hypeddit.com/track/dr4d3t",
# Füge hier weitere URLs hinzu, wenn du mehr Websites hast
]
for url in urls:
# Öffne die Website
driver.get(url)
# Schritt 1: Auf den ersten Knopf klicken
click_and_wait(driver, By.ID, "downloadProcess")
# Schritt 2: Textfelder ausfüllen (falls vorhanden)
textfeld1 = find_element_or_none(driver, By.ID, "email_name")
textfeld2 = find_element_or_none(driver, By.ID, "email_address")
textfeld3 = find_element_or_none(driver, By.ID, "sc_comment_text")
if textfeld1 and textfeld2:
textfeld1.send_keys("E")
textfeld2.send_keys("irgendeine@gmail.com")
click_and_wait(driver, By.ID, "email_to_downloads_next")
if textfeld3:
textfeld3.send_keys("<3")
click_and_wait(driver, By.ID, "login_to_sc")
# Schritt 3: Mit dem Popup interagieren
driver.switch_to.window(driver.window_handles[-1])
click_and_wait(driver, By.ID, "submit_signup")
# Schritt 4: Zum ursprünglichen Fenster zurückkehren
driver.switch_to.window(driver.window_handles[0])
click_and_wait(driver, By.ID, "submit_signup")
# Schritt 5: Den letzten Knopf klicken (nach Klassennamen suchen)
download_button = find_element_or_none(driver, By.CLASS_NAME, "button button-primary login-to-soundcloud-common free_dwln")
if download_button:
download_button.click()
finally:
# Schließe den Webdriver, wenn das Skript beendet wird
driver.quit()
if __name__ == "__main__":
main()
Wie gesagt, ich kriege keine Fehlermeldung, nichts passiert.
warscheinlich schon irgendwas im Hintergrund, aber nichts ersichtliches.
Vielen Dank und Gruß bereits im voraus,
pytonnewcomer ohne h