Gmail hesaplarını manuel olarak oluşturmak, özellikle test amacıyla veya başka amaçlarla birden fazla hesaba ihtiyacınız varsa sıkıcı olabilir. Bu eğitimde Python ve Selenium kullanarak Gmail hesabı kayıt sürecini nasıl otomatikleştireceğinizi öğreneceksiniz. Ayrıca şunu da kullanacağız: faker
Rastgele kullanıcı verileri oluşturmak için kütüphane ve random
şifre üretimi için.
Önkoşullar
Başlamadan önce aşağıdakilerin kurulu olduğundan emin olun:
- Python 3.x
- Selenyum
- Chrome Web Sürücüsü
- Sahtekar
Selenium ve Faker'ı pip kullanarak kurabilirsiniz:
pip install selenium faker
Chrome WebDriver'ı şuradan indirin: Burada ve PATH'inizde olduğundan emin olun.
Komut Dosyasına Genel Bakış
Senaryo şunları yapacaktır:
- Rastgele ad, soyadı, kullanıcı adı ve şifre oluşturun.
- Selenium'u kullanarak Gmail kayıt sayfasını açın.
- Kayıt formunu oluşturulan verilerle doldurun.
- Formu gönderin.
Adım 1: Kitaplıkları İçe Aktarın ve Faker'ı Başlatın
İlk önce gerekli kütüphaneleri içe aktaracağız ve başlatacağız Faker
:
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 faker import Faker
import random
import string
import time
# Initialize Faker
fake = Faker()
Adım 2: Rastgele Veri Oluşturun
Daha sonra rastgele bir şifre oluşturacak ve rastgele kullanıcı verilerini oluşturacak bir işlev oluşturacağız:
# Function to generate a random password
def generate_password(length=12):
characters = string.ascii_letters + string.digits + string.punctuation
password = ''.join(random.choice(characters) for i in range(length))
return password
# Generate random user data
first_name = fake.first_name()
last_name = fake.last_name()
username = first_name.lower() + last_name.lower() + str(random.randint(1000, 9999))
password = generate_password()
Adım 3: Selenyum Web Sürücüsünü Başlatın
Chrome WebDriver'ı başlatın ve Gmail kayıt sayfasına gidin:
# Initialize Chrome WebDriver
driver = webdriver.Chrome()
# Open Gmail signup page
driver.get("https://accounts.google.com/signup")
Adım 4: Kayıt Formunu Doldurun
Sayfanın yüklenmesini bekleyin, form alanlarını bulun ve bunları oluşturulan verilerle doldurun:
# Wait for the page to load and locate the form fields
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")
# Fill out the form fields
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)
Adım 5: Formu Gönderin
Formu gönderin ve sonraki sayfanın yüklenmesine izin vermek için bir gecikme ekleyin:
# Submit the form
next_button = driver.find_element(By.XPATH, '//*[@id="accountDetailsNext"]/div/button')
next_button.click()
# Add a delay to allow the next page to load (you may need to adjust the sleep time)
time.sleep(5)
Adım 6: Ek Adımları Ele Alın
Google'ın kayıt işlemine bağlı olarak telefon doğrulaması, kurtarma e-postası veya CAPTCHA gibi ek adımları uygulamanız gerekebilir. Bu kısım değişiklik gösterebilir ve daha gelişmiş bir işlem gerektirebilir.
Adım 7: Tarayıcıyı kapatın
İşlem tamamlandıktan sonra tarayıcıyı kapatın:
# Close the browser after the process is complete
driver.quit()
# Output the generated data
print(f"First Name: {first_name}")
print(f"Last Name: {last_name}")
print(f"Username: {username}")
print(f"Password: {password}")
Tam Komut Dosyası
İşte tüm adımları birleştiren tam komut dosyası:
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 faker import Faker
import random
import string
import time
# Initialize Faker
fake = Faker()
# Function to generate a random password
def generate_password(length=12):
characters = string.ascii_letters + string.digits + string.punctuation
password = ''.join(random.choice(characters) for i in range(length))
return password
# Generate random user data
first_name = fake.first_name()
last_name = fake.last_name()
username = first_name.lower() + last_name.lower() + str(random.randint(1000, 9999))
password = generate_password()
# Initialize Chrome WebDriver
driver = webdriver.Chrome()
# Open Gmail signup page
driver.get("https://accounts.google.com/signup")
# Wait for the page to load and locate the form fields
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")
# Fill out the form fields
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)
# Submit the form
next_button = driver.find_element(By.XPATH, '//*[@id="accountDetailsNext"]/div/button')
next_button.click()
# Add a delay to allow the next page to load (you may need to adjust the sleep time)
time.sleep(5)
# Close the browser after the process is complete
driver.quit()
# Output the generated data
print(f"First Name: {first_name}")
print(f"Last Name: {last_name}")
print(f"Username: {username}")
print(f"Password: {password}")
Çözüm
Python ve Selenium'u kullanarak Gmail hesabı kayıt işlemini başarıyla otomatikleştirdiniz. Bu komut dosyası rastgele kullanıcı verileri oluşturur ve formu otomatik olarak doldurur. Bu komut dosyasını sorumlu bir şekilde kullanmayı ve hesap oluşturmayı otomatikleştirmenin yasal ve etik sonuçlarının farkında olmayı unutmayın.