Tạo tài khoản Gmail theo cách thủ công có thể tẻ nhạt, đặc biệt nếu bạn cần nhiều tài khoản để thử nghiệm hoặc cho các mục đích khác. Trong hướng dẫn này, bạn sẽ tìm hiểu cách tự động hóa quy trình đăng ký tài khoản Gmail bằng Python và Selen. Chúng tôi cũng sẽ sử dụng kẻ giả mạo
thư viện để tạo dữ liệu người dùng ngẫu nhiên và ngẫu nhiên
để tạo mật khẩu.
Điều kiện tiên quyết
Trước khi chúng tôi bắt đầu, hãy đảm bảo bạn đã cài đặt những thứ sau:
- Python 3.x
- Selen
- Trình điều khiển web Chrome
- kẻ giả mạo
Bạn có thể cài đặt Selenium và Faker bằng pip:
pip cài đặt trình giả mạo selen
Tải xuống Chrome WebDriver từ đây và đảm bảo rằng nó nằm trong ĐƯỜNG của bạn.
Tổng quan về kịch bản
Kịch bản sẽ:
- Tạo ngẫu nhiên tên, họ, tên người dùng và mật khẩu.
- Mở trang đăng ký Gmail bằng Selenium.
- Điền vào mẫu đăng ký với dữ liệu được tạo.
- Gửi biểu mẫu.
Bước 1: Nhập thư viện và khởi tạo Faker
Đầu tiên, chúng ta sẽ nhập các thư viện cần thiết và khởi tạo kẻ giả mạo
:
từ selen nhập webdriver từ selen.webdriver.common.by nhập Bởi từ selen.webdriver.support.ui nhập WebDriverWait từ selen.webdriver.support nhập dự kiến_conditions dưới dạng EC từ giả mạo nhập Faker nhập chuỗi nhập ngẫu nhiên thời gian nhập # Khởi tạo Faker fake = Faker ()
Bước 2: Tạo dữ liệu ngẫu nhiên
Tiếp theo, chúng ta sẽ tạo một hàm để tạo mật khẩu ngẫu nhiên và tạo dữ liệu người dùng ngẫu nhiên:
# Hàm tạo mật khẩu ngẫu nhiên def generate_password(length=12): character = string.ascii_letters + string.digits + string.punctuation pass = ''.join(random.choice(characters) for i in range(length)) return mật khẩu # Tạo dữ liệu người dùng ngẫu nhiên first_name = fake.first_name() Last_name = fake.last_name() tên người dùng = first_name.low() + Last_name.low() + str(random.randint(1000, 9999)) mật khẩu = generate_password()
Bước 3: Khởi tạo Selenium WebDriver
Khởi tạo Chrome WebDriver và điều hướng đến trang đăng ký Gmail:
# Khởi tạo trình điều khiển WebDriver của Chrome = webdriver.Chrome() # Mở trang đăng ký Gmail driver.get("https://accounts.Google.com/đăng ký")
Bước 4: Điền vào mẫu đăng ký
Đợi trang tải, xác định vị trí các trường biểu mẫu và điền dữ liệu được tạo vào chúng:
# Đợi trang tải và định vị các trường biểu mẫu 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") pass_field = driver.find_element(By.NAME, "Passwd") confirm_password_field = driver.find_element(By.NAME, "ConfirmPasswd") # Điền vào các trường biểu mẫu first_name_field.send_keys(first_name) Last_name_field.send_keys(last_name) username_field.send_keys(username) pass_field.send_keys(password) confirm_password_field.send_keys(password)
Bước 5: Gửi biểu mẫu
Gửi biểu mẫu và thêm độ trễ để cho phép tải trang tiếp theo:
# Gửi biểu mẫu next_button = driver.find_element(By.XPATH, '//*[@id="accountDetailsNext"]/div/button') next_button.click() # Thêm độ trễ để cho phép tải trang tiếp theo (bạn có thể cần điều chỉnh thời gian ngủ) time.sleep(5)
Bước 6: Xử lý các bước bổ sung
Tùy thuộc vào quy trình đăng ký của Google, bạn có thể cần xử lý các bước bổ sung như xác minh số điện thoại, email khôi phục hoặc CAPTCHA. Phần này sẽ khác nhau và có thể yêu cầu xử lý nâng cao hơn.
Bước 7: Đóng trình duyệt
Đóng trình duyệt sau khi quá trình hoàn tất:
# Đóng trình duyệt sau khi quá trình hoàn tất driver.quit() # Xuất dữ liệu được tạo print(f"First Name: {first_name}") print(f"Last Name: {last_name}") print(f"Username: { tên người dùng}") print(f"Mật khẩu: {password}")
Kịch bản đầy đủ
Đây là tập lệnh đầy đủ kết hợp tất cả các bước:
từ selen nhập webdriver từ selen.webdriver.common.by nhập Bởi từ selen.webdriver.support.ui nhập WebDriverWait từ selen.webdriver.support nhập dự kiến_conditions dưới dạng EC từ giả mạo nhập Faker nhập chuỗi nhập ngẫu nhiên thời gian nhập # Khởi tạo Faker fake = Faker () # Hàm tạo mật khẩu ngẫu nhiên def generate_password(length=12): character = string.ascii_letters + string.digits + string.punctuation pass = ''.join(random.choice(characters) for i in range(length) ) trả lại mật khẩu # Tạo dữ liệu người dùng ngẫu nhiên first_name = fake.first_name() Last_name = fake.last_name() tên người dùng = first_name.low() + Last_name.low() + str(random.randint(1000, 9999)) mật khẩu = generate_password () # Khởi tạo Chrome WebDriver driver = webdriver.Chrome() # Mở trang đăng ký Gmail driver.get("https://accounts.google.com/signup") # Đợi trang tải và tìm các trường biểu mẫu 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") pass_field = driver.find_element(By.NAME, "Passwd") confirm_password_field = driver.find_element(By.NAME, "ConfirmPasswd") # Điền vào các trường biểu mẫu first_name_field.send_keys(first_name) Last_name_field.send_keys(last_name ) username_field.send_keys(username) pass_field.send_keys(password) confirm_password_field.send_keys(password) # Gửi biểu mẫu next_button = driver.find_element(By.XPATH, '//*[@id="accountDetailsNext"]/div/button' ) next_button.click() # Thêm độ trễ để cho phép tải trang tiếp theo (bạn có thể cần điều chỉnh thời gian ngủ) time.sleep(5) # Đóng trình duyệt sau khi quá trình hoàn tất driver.quit() # Xuất ra dữ liệu được tạo print(f"First Name: {first_name}") print(f"Họ: {last_name}") print(f"Username: {username}") print(f"Password: {password}") print(f"Password: {password}")
Phần kết luận
Bạn đã tự động hóa thành công quy trình đăng ký tài khoản Gmail bằng Python và Selenium. Tập lệnh này tạo dữ liệu người dùng ngẫu nhiên và tự động điền vào biểu mẫu. Hãy nhớ sử dụng tập lệnh này một cách có trách nhiệm và lưu ý đến các tác động pháp lý và đạo đức của việc tự động tạo tài khoản.