Tự động đăng nhập Gmail Python

Trước khi tìm hiểu Cách đăng nhập tự động bằng Selenium trong Python, hãy xem đăng nhập tự động là gì? . Selenium là thư viện thử nghiệm chức năng phổ biến của bên thứ ba dành cho Python. Nó thường được sử dụng để tự động hóa và thử nghiệm các trình duyệt web

Bằng cách thực thi tập lệnh Python, chúng tôi có thể tự động hóa [các] trình duyệt được cài đặt trên hệ thống của mình và tự động hóa nhiều thao tác như đăng nhập, mở trang và tìm kiếm bằng trình duyệt

Trình điều khiển web Selenium hoạt động với bốn trình duyệt web phổ biến nhất. Chrome, Firefox, Edge và Safari. Điều này ngụ ý rằng chúng ta có thể kiểm soát và tự động hóa các trình duyệt web này bằng một mô-đun Python duy nhất, Selenium. Tự động đăng nhập vào một trang web là một kỹ năng khá gọn gàng và hữu ích trong tự động hóa

Trong bài đăng này, chúng tôi sẽ tạo một chương trình Python sẽ Tự động đăng nhập bằng Selenium và tự động thực hiện 3 tác vụ sau

  1. Truy cập trang web GitHub
  2. Nhập thông tin đăng nhập
  3. Đăng nhập vào GitHub

6 bước để Tự động đăng nhập bằng Selenium trong Python

Bươc. 1. Nhập thư viện

Selenium không phải là một thư viện Python điển hình. Do đó, trước tiên bạn phải cài đặt nó trong môi trường Python của mình trước khi có thể sử dụng nó. Sử dụng lệnh sau [thông qua dấu nhắc lệnh hoặc thiết bị đầu cuối] để cài đặt thư viện Selenium

pip install selenium

Bạn cũng sẽ cần nhập một số mô-đun Selenium đặc biệt từ thư viện của Python. Ít nhất, bạn phải thực hiện những điều sau đây

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By

Ngoài ra, bạn có thể thử các thư viện thay thế không chỉ Tự động đăng nhập bằng Selenium. Nhấn vào đây để kiểm tra các thư viện khác

Bươc. 2. Cài đặt trình điều khiển web

Vì Selenium sẽ tự động đăng nhập thông qua trình duyệt web nên chúng tôi sẽ cần trình điều khiển web để giao tiếp với trình duyệt web và tự động hóa quy trình. Vì hầu hết các nhà phát triển đều sử dụng nó nên chúng tôi sẽ tải xuống và sử dụng trình điều khiển web Chrome cho hướng dẫn này. Ngoài ra, bạn có thể chọn trình điều khiển web khác từ danh sách bên dưới nếu muốn

Trình điều khiển Chrome. https. // chromedriver. crom. tổ chức/nhà

Trình điều khiển web cạnh. https. // nhà phát triển. Microsoft. com/en-us/microsoft-edge/tools/webdriver/

trình điều khiển web firefox. https. //github. com/mozilla/geckodriver/bản phát hành

Trình điều khiển web Safari. https. // webkit. org/blog/6900/webdriver-support-in-safari-10/

Sau khi nhập các mô-đun, chúng tôi sẽ kích hoạt trình điều khiển Chrome mới được cài đặt

# initialize the Chrome driver
driver = webdriver.Chrome["D:/chromedriver"]

Bươc. 3. Tạo biến cho thông tin đăng nhập

# Github credentials
username = "CopyAssignment.com"
password = "Welcome"

Bươc. 4. Khởi chạy Trình duyệt và Mở URL

# head to github login page
driver.get["//github.com/login"]

Như bạn có thể thấy, chúng tôi đã cung cấp trình điều khiển chrome chromedriver. đường dẫn tuyệt đối của exe. Đây là quy trình bắt buộc phải có để Tự động đăng nhập bằng Selenium trong Python. Thao tác này sẽ khởi chạy trình duyệt Chrome bằng tập lệnh Python của chúng tôi. Sử dụng trình điều khiển. get[] và trình điều khiển đã khởi tạo, chúng ta có thể truy cập github. com. Thao tác này sẽ đưa chúng ta đến trang đăng nhập của trang web

Bươc. 5. Nhập thông tin đăng nhập và đăng nhập

# find username/email field and send the username itself to the input field
driver.find_element[By.ID,'login_field'].send_keys[username]

# find password input field and insert password as well
driver.find_element[By.ID,'password'].send_keys[password]

# click login button
driver.find_element[By.NAME,'commit'].click[]

Như chúng ta đã biết, khi muốn vào một trang web, trước tiên chúng ta phải điền vào mẫu đăng nhập HTML. Do đó, khi truy cập GitHub, chúng ta phải điền vào biểu mẫu đăng nhập, bao gồm các ô Tên người dùng [hoặc Email] và mật khẩu

Tuy nhiên, nếu chúng ta muốn tự động hóa quy trình này với Selenium, chúng ta phải cho nó biết những trường đầu vào nào sẽ được điền. Để làm như vậy, trước tiên chúng ta phải lấy Tên người dùng [hoặc Email] và khu vực nhập mật khẩu. Chúng tôi cũng sẽ có quyền truy cập vào nút đăng nhập vì sau khi hoàn thành các trường, chúng tôi sẽ cần nhấp vào nút đó để đăng nhập

Ở đây, chúng tôi sử dụng Selenium để mở trang web mà chúng tôi cần [trong ví dụ này là Gmail] và kiểm tra các mục trên hộp email, hộp mật khẩu và nút Tiếp theo để truy xuất ID và TÊN của chúng

  • Sử dụng find_elemen[By. Tôi đã làm"]. Chúng ta có thể xác định vị trí phần tử cần thiết bằng cách sử dụng chức năng do mô-đun Selenium cung cấp [ID tên người dùng, ID mật khẩu]
  • Sử dụng find_elemen[By. Tên tên"]. chức năng được cung cấp bởi mô-đun Selenium, chúng tôi có thể xác định vị trí phần cần thiết [Tên của nút gửi]
  • Sử dụng find_elements[By. CLASS_NAME, “Tên Lớp”]. Sử dụng điều này khi bạn muốn xác định vị trí một phần tử theo tên lớp
  • Sử dụng send_keys[]. Chúng tôi sẽ truyền dữ liệu vào hộp bằng chức năng mà mô-đun selen cung cấp
  • Sử dụng nhấp chuột[]. Chúng tôi thực hiện chức năng của mô-đun selen bằng cách nhấp vào phần tử đang hoạt động
  • lấy[]. cho phép chúng tôi truy cập một trang web

1. Tìm “Trường đăng nhập”

2. Tìm “ID mật khẩu”

3. Tìm tên nút gửi

Bươc. 6. Xác minh trạng thái đăng nhập

# wait the ready state to be complete
WebDriverWait[driver=driver, timeout=10].until[
    lambda x: x.execute_script["return document.readyState === 'complete'"]
]
error_message = "Incorrect username or password."

# get the errors [if there are]
errors = driver.find_elements[By.CLASS_NAME,"flash-error"]

# if we find that error message within errors, then login is failed
if any[error_message in e.text for e in errors]:
    print["[!] Login failed"]
else:
    print["[+] Login successful"]

Đoạn mã trước sẽ cố gắng xác định nút “Trang chủ” được hiển thị khi bạn đăng nhập lần đầu vào GitHub trong tối đa 10 giây. Một lần nữa, có những cách tiếp cận khác cho vấn đề này, chẳng hạn như chờ một phần tử có thể nhấp, hiển thị hoặc hiển thị trên trang. Nếu tên người dùng và mật khẩu chính xác, thông báo “Đăng nhập thành công” sẽ xuất hiện; . ”

Mã hoàn chỉnh để tự động đăng nhập bằng Selenium trong Python

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
 
# Github credentials
username = "CopyAssignment.com"
password = "Welcome"
 
# initialize the Chrome driver
driver = webdriver.Chrome["D:/chromedriver"]
 
# head to github login page
driver.get["//github.com/login"]
# find username/email field and send the username itself to the input field
driver.find_element[By.ID,'login_field'].send_keys[username]
# find password input field and insert password as well
driver.find_element[By.ID,'password'].send_keys[password]
# click login button
driver.find_element[By.NAME,'commit'].click[]
 
# wait the ready state to be complete
WebDriverWait[driver=driver, timeout=10].until[
    lambda x: x.execute_script["return document.readyState === 'complete'"]
]
error_message = "Incorrect username or password."
# get the errors [if there are]
errors = driver.find_elements[By.CLASS_NAME,"flash-error"]
# if we find that error message within errors, then login is failed
if any[error_message in e.text for e in errors]:
    print["[!] Login failed"]
else:
    print["[+] Login successful"]  

đầu ra

Vậy là xong, đây được coi là điểm khởi đầu cơ bản để Tự động đăng nhập bằng Selenium trong Python. Rất cám ơn đã đọc bài viết của chúng tôi. Vui lòng để lại suy nghĩ hoặc đề xuất của bạn trong không gian được cung cấp bên dưới

Làm cách nào để tự động hóa Gmail bằng Python?

Nếu bạn chưa quen với việc xác thực và ủy quyền cho API Google Workspace, hãy đọc phần Tổng quan về xác thực và ủy quyền. Tạo một ứng dụng dòng lệnh Python đưa ra các yêu cầu đối với API Gmail. .
Thiết lập môi trường của bạn
Cài đặt thư viện máy khách
thiết lập mẫu
Chạy mẫu

Làm cách nào để tự động đăng nhập Gmail bằng Selenium WebDriver trong C#?

tự động hóa quy trình đăng nhập gmail bằng Selenium .
Khởi chạy trình duyệt chrome
Mở địa chỉ Gmail
Nhập ID Email và Mật khẩu
Điều hướng đến HỘP THƯ ĐẾN
Nhấp vào Soạn email và nhập chi tiết kèm theo tệp đính kèm
Gửi email

Làm cách nào để đăng nhập vào các trang web yêu cầu email OTP bằng Python?

Để lấy XPath của các phần tử, bạn có thể nhấp chuột phải vào vị trí của phần tử bạn muốn truy cập và nhấp vào kiểm tra trên chrome. Sau đó nhấp chuột phải vào mã html và chọn sao chép XPath . Sau đó, bạn sẽ được chào đón bởi trang đăng nhập thứ hai, trang này sẽ yêu cầu OTP.

Làm cách nào để lấy mật khẩu email bằng Python?

nhập arcpy, os, sys, time, sub process, collections, datetime, smtplib from datetime import datetime print["Tập lệnh này sẽ kiểm tra mật khẩu email của bạn để xác minh mật khẩu đó chính xác. "] usr = "your_email@gmail. com" print["Vui lòng nhập mật khẩu cho " + usr + ". "] psw ​​= raw_input[] def kiểm tra mật khẩu[usr,psw]. máy chủ=smtplib

Chủ Đề