Đăng nhập selen python vào trang web

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 tôi 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 Selenium 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

Các trang web có thể phát hiện Selenium Python không?

Các trang web có thể phát hiện quá trình tự động hóa bằng trình điều hướng công nghệ thử nghiệm JavaScript. trình điều khiển web trong giao diện điều hướng . Nếu trang web được tải bằng các công cụ tự động hóa như Selenium, giá trị của navigator. trình điều khiển web được đặt thành true.

Python tích hợp với Selenium như thế nào?

Có các bước sau để định cấu hình Selenium bằng Python. .
Tải xuống và cài đặt Python trên Windows
Cài đặt thư viện Selenium trong Python
Tải xuống và cài đặt PyCharm
Tạo một dự án mới và viết kịch bản thử nghiệm Selenium
Chạy và xác thực các kịch bản thử nghiệm

Chủ Đề