Das manuelle Erstellen von Gmail-Konten kann mühsam sein, insbesondere wenn Sie mehrere Konten zu Testzwecken oder für andere Zwecke benötigen. In diesem Tutorial erfahren Sie, wie Sie den Registrierungsprozess für Gmail-Konten mit Python automatisieren und Selen. Wir verwenden auch die Schwindler
Bibliothek zur Generierung zufälliger Benutzerdaten und zufällig
zur Passwortgenerierung.
Voraussetzungen
Bevor wir beginnen, stellen Sie sicher, dass Sie Folgendes installiert haben:
- Python 3.x
- Selen
- Chrome WebDriver
- Schwindler
Sie können Selenium und Faker mit pip installieren:
pip installieren Selenium Faker
Laden Sie den Chrome WebDriver herunter von Hier und stellen Sie sicher, dass es in Ihrem PATH ist.
Skriptübersicht
Das Skript führt Folgendes aus:
- Generieren Sie zufällig Vor- und Nachnamen, Benutzernamen und Passwörter.
- Öffnen Sie die Gmail-Anmeldeseite mit Selenium.
- Füllen Sie das Anmeldeformular mit den generierten Daten aus.
- Senden Sie das Formular ab.
Schritt 1: Bibliotheken importieren und Faker initialisieren
Zuerst importieren wir die notwendigen Bibliotheken und initialisieren Schwindler
:
von Selenium importiere Webdriver von selenium.webdriver.common.by importiere By von selenium.webdriver.support.ui importiere WebDriverWait von selenium.webdriver.support importiere expected_conditions als EC von Faker importiere Faker importiere Zufallsimport-String Importzeit # Faker initialisieren fake = Faker()
Schritt 2: Zufällige Daten generieren
Als nächstes erstellen wir eine Funktion zum Generieren eines zufälligen Passworts und zum Generieren der zufälligen Benutzerdaten:
# Funktion zum Generieren eines zufälligen Passworts def generate_password(length=12): Zeichen = Zeichenfolge.ASCII-Buchstaben + Zeichenfolge.Ziffern + Zeichenfolge.Satzzeichen Passwort = ''.join(random.choice(Zeichen) für i im Bereich(Länge)) returniere Passwort # Generieren Sie zufällige Benutzerdaten Vorname = fake.Vorname() Nachname = fake.Nachname() Benutzername = Vorname.Untername() + Nachname.Untername() + str(random.randint(1000, 9999)) Passwort = generate_password()
Schritt 3: Selenium WebDriver initialisieren
Initialisieren Sie den Chrome WebDriver und navigieren Sie zur Gmail-Anmeldeseite:
# Chrome WebDriver initialisieren driver = webdriver.Chrome() # Gmail-Anmeldeseite öffnen driver.get("https://accounts.Google.com/Anmelden")
Schritt 4: Füllen Sie das Anmeldeformular aus
Warten Sie, bis die Seite geladen ist, suchen Sie die Formularfelder und füllen Sie sie mit den generierten Daten aus:
# Warten Sie, bis die Seite geladen ist, und suchen Sie die Formularfelder. wait = WebDriverWait(driver, 10) first_name_field = wait.until(EC.presence_of_element_located((By.ID, "firstName"))) last_name_field = driver.find_element(By.ID, "lastName") username_field = driver.find_element(By.ID, "username") password_field = driver.find_element(By.NAME, "Passwd") confirm_password_field = driver.find_element(By.NAME, "ConfirmPasswd") # Füllen Sie die Formularfelder aus first_name_field.send_keys(first_name) last_name_field.send_keys(last_name) username_field.send_keys(username) password_field.send_keys(password) confirm_password_field.send_keys(password)
Schritt 5: Senden Sie das Formular
Senden Sie das Formular und fügen Sie eine Verzögerung hinzu, damit die nächste Seite geladen werden kann:
# Senden Sie das Formular next_button = driver.find_element(By.XPATH, '//*[@id="accountDetailsNext"]/div/button') next_button.click() # Fügen Sie eine Verzögerung hinzu, damit die nächste Seite geladen werden kann (Sie müssen möglicherweise die Ruhezeit anpassen) time.sleep(5)
Schritt 6: Weitere Schritte durchführen
Abhängig vom Anmeldevorgang von Google müssen Sie möglicherweise zusätzliche Schritte ausführen, z. B. eine Telefonüberprüfung, eine Wiederherstellungs-E-Mail oder ein CAPTCHA. Dieser Teil variiert und erfordert möglicherweise eine fortgeschrittenere Handhabung.
Schritt 7: Schließen Sie den Browser
Schließen Sie den Browser, sobald der Vorgang abgeschlossen ist:
# Schließen Sie den Browser, nachdem der Vorgang abgeschlossen ist driver.quit() # Geben Sie die generierten Daten aus print(f"Vorname: {first_name}") print(f"Nachname: {last_name}") print(f"Benutzername: {username}") print(f"Passwort: {password}")
Vollständiges Skript
Hier ist das vollständige Skript, das alle Schritte kombiniert:
von Selenium importiere Webdriver von selenium.webdriver.common.by importiere By von selenium.webdriver.support.ui importiere WebDriverWait von selenium.webdriver.support importiere expected_conditions als EC von Faker importiere Faker importiere zufällig importiere String importiere Zeit # Faker initialisieren fake = Faker() # Funktion zum Generieren eines zufälligen Passworts def generate_password(length=12): Zeichen = Zeichenfolge.ASCII-Buchstaben + Zeichenfolge.Ziffern + Zeichenfolge.Satzzeichen Passwort = ''.join(random.choice(characters) for i in range(length)) returniere Passwort # Zufällige Benutzerdaten generieren Vorname = fake.Vorname() Nachname = fake.Nachname() Benutzername = Vorname.Untername() + Nachname.Untername() + str(random.randint(1000, 9999)) Passwort = generate_password() # Chrome WebDriver initialisieren Treiber = webdriver.Chrome() # Gmail-Anmeldeseite öffnen driver.get("https://accounts.google.com/signup") # Warten Sie, bis die Seite geladen ist, und suchen Sie die Formularfelder wait = WebDriverWait(driver, 10) first_name_field = wait.until(EC.presence_of_element_located((By.ID, "firstName"))) last_name_field = driver.find_element(By.ID, "lastName") username_field = driver.find_element(By.ID, "username") password_field = driver.find_element(By.NAME, "Passwd") confirm_password_field = driver.find_element(By.NAME, "ConfirmPasswd") # Füllen Sie die Formularfelder aus first_name_field.send_keys(first_name) last_name_field.send_keys(last_name) username_field.send_keys(username) password_field.send_keys(Passwort) confirm_password_field.send_keys(Passwort) # Senden Sie das Formular next_button = driver.find_element(By.XPATH, '//*[@id="accountDetailsNext"]/div/button') next_button.click() # Fügen Sie eine Verzögerung hinzu, damit die nächste Seite geladen werden kann (Sie müssen möglicherweise die Ruhezeit anpassen) time.sleep(5) # Schließen Sie den Browser, nachdem der Vorgang abgeschlossen ist driver.quit() # Geben Sie die generierten Daten aus print(f"Vorname: {first_name}") print(f"Nachname: {last_name}") print(f"Benutzername: {username}") print(f"Passwort: {passwort}")
Abschluss
Sie haben den Registrierungsprozess für das Gmail-Konto mithilfe von Python und Selenium erfolgreich automatisiert. Dieses Skript generiert zufällige Benutzerdaten und füllt das Formular automatisch aus. Denken Sie daran, dieses Skript verantwortungsbewusst zu verwenden und sich der rechtlichen und ethischen Auswirkungen der automatischen Kontoerstellung bewusst zu sein.