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. Zusätzlich verwenden wir die Schwindler
Bibliothek zur Generierung zufälliger Benutzerdaten, zufällig
zur Passwortgenerierung und Webtreiber-Manager
Und PySocks
zu handhaben Proxys.
Voraussetzungen
Bevor wir beginnen, stellen Sie sicher, dass Sie Folgendes installiert haben:
- Python 3.x
- Selen
- Chrome WebDriver
- Schwindler
- PySocks
- WebDriver Manager für Selenium
Sie können Selenium, Faker, PySocks und WebDriver Manager mit pip installieren:
pip installieren selenium faker pysocks webdriver-manager
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.
- Verwenden Sie ein SOCKS5 Proxy für den Registrierungsprozess.
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 von webdriver_manager.chrome importiere ChromeDriverManager von selenium.webdriver.chrome.service importiere Service von selenium.webdriver.chrome.options importiere Optionen # 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 mit Proxy initialisieren
Initialisieren Sie den Chrome WebDriver und navigieren Sie mithilfe eines SOCKS5-Proxys zur Gmail-Anmeldeseite:
# Proxy-Einstellungen (ersetzen Sie diese durch Ihre Proxy-Details) proxy = "Ihre_Proxy-Adresse:Ihr_Proxy-Port" # Chrome WebDriver mit Proxy-Einstellungen initialisieren chrome_options = Options() chrome_options.add_argument("--proxy-server=socks5://" + proxy) # WebDriver initialisieren service = Service(ChromeDriverManager().install()) driver = webdriver.Chrome(service=service, options=chrome_options) # 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 von webdriver_manager.chrome importiere ChromeDriverManager von selenium.webdriver.chrome.service importiere Service von selenium.webdriver.chrome.options importiere Optionen # Faker initialisieren fake = Faker() # Funktion zum Generieren eines zufälligen Passworts def generate_password(length=12): Zeichen = String.ASCII-Buchstaben + String.Ziffern + String.Satzzeichen Passwort = ''.join(random.choice(Zeichen) für i im Bereich(Länge)) returniere Passwort # Zufällige Benutzerdaten generieren Vorname = fake.Vorname() Nachname = fake.Nachname() Benutzername = Vorname.Untername() + last_name.lower() + str(random.randint(1000, 9999)) password = generate_password() # Proxy-Einstellungen (ersetzen Sie diese durch Ihre Proxy-Details) proxy = "your_proxy_address:your_proxy_port" # Chrome WebDriver mit Proxy-Einstellungen initialisieren chrome_options = Options() chrome_options.add_argument("--proxy-server=socks5://" + proxy) # WebDriver initialisieren service = Service(ChromeDriverManager().install()) driver = webdriver.Chrome(service=service, options=chrome_options) # 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(password) confirm_password_field.send_keys(password) # Senden Sie das Formular next_button = driver.find_element(By.XPATH, '//*[@id="accountDetailsNext"]/div/button') next_button.click() # Fügen Sie eine Verzögerung, damit die nächste Seite geladen werden kann (eventuell müssen Sie 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: {password}")
Abschluss
Sie haben den Registrierungsprozess für das Gmail-Konto mithilfe von Python und Selenium erfolgreich automatisiert und zusätzlich SOCKS5-Proxy-Unterstützung hinzugefügt. Dieses Skript generiert zufällige Benutzerdaten, füllt das Registrierungsformular aus und leitet den Datenverkehr über einen angegebenen Proxy um.
Denken Sie daran, zu ersetzen Ihre_Proxy-Adresse:Ihr_Proxy-Port
mit Ihren tatsächlichen Proxy-Details und verwenden Sie dieses Skript verantwortungsbewusst. Denken Sie dabei an die rechtlichen und ethischen Auswirkungen der automatischen Kontoerstellung.