Selenium Python Hướng dẫn sử dụng WebDriver (Ví dụ)

⚡ Tóm tắt thông minh

Selenium với Python kết hợp thư viện tự động hóa WebDriver với Python Cú pháp ngắn gọn để kiểm thử các ứng dụng web trên nhiều nền tảng khác nhau. Firefox, Chrome và Internet Explorer. Hướng dẫn này sẽ cấu hình PyDev in Eclipse, viết các kịch bản đăng nhập và giải thích lý do tại sao các nhóm lại thích sử dụng chúng hơn. Python kết thúc Java.

  • 🐍 Python Lợi thế: Less cú pháp dài dòng làm cho Selenium Các đoạn mã dễ đọc và dễ bảo trì hơn.
  • 🌐 Trình điều khiển Web: Gửi các lệnh tiêu chuẩn đến Firefox, Chrome và IE bất kể thiết kế trình duyệt nào.
  • 🧩 PyDev Thành lập: cài đặt PyDev plugin trong Eclipse và đặt Python thông dịch viên.
  • 📝 Các tập lệnh đăng nhập: Tìm các trường theo ID, gửi khóa và tự động gửi biểu mẫu.
  • ✅ Khẳng định tiêu đề: WebDriverWait kết hợp với assert sẽ xác thực tiêu đề trang sau khi đăng nhập.
  • 🤖 Hỗ trợ AI: Các công cụ AI tạo ra các công cụ định vị và Selenium Python Các đoạn mã được tạo từ các lời nhắc đơn giản.

Selenium Python Hướng dẫn sử dụng WebDriver

Selenium với Python

Selenium hỗ trợ Python và do đó có thể được sử dụng như Selenium WebDriver với Python để thử nghiệm.

  • Python So với các ngôn ngữ lập trình khác, nó dễ sử dụng hơn nhiều vì cú pháp ngắn gọn hơn.
  • Python API cho phép bạn kết nối với trình duyệt thông qua Selenium.
  • Selenium gửi tiêu chuẩn Python các lệnh được gửi đến các trình duyệt khác nhau, bất chấp sự khác biệt về thiết kế trình duyệt của chúng.

Bạn có thể chạy Selenium với Python kịch bản cho Firefox, Chrome, IE, v.v. trên các hệ điều hành khác nhau.

Là gì Python?

Python là một ngôn ngữ kịch bản hướng đối tượng cấp cao. Nó được thiết kế theo cách thân thiện với người dùng. Python Nó sử dụng các từ khóa tiếng Anh đơn giản, dễ hiểu. Nó có ít sự phức tạp về cú pháp hơn bất kỳ ngôn ngữ nào khác. ngôn ngữ lập trình.

Xem một số ví dụ trong bảng dưới đây.

Từ khóa Ý nghĩa Sử dụng
elif Khác nếu Khác nếu
khác Khác nếu: X; Elif: Y; khác: J
ngoại trừ Hãy làm điều này nếu xảy ra lỗi ngoại lệ. ngoại trừ ValueError, a: in a
giám đốc điều hành Chạy chuỗi dưới dạng Python exec 'in “xin chào thế giới !”'

Là gì Selenium?

Selenium Đây là một công cụ để kiểm thử ứng dụng web của bạn. Bạn có thể thực hiện việc này theo nhiều cách khác nhau, ví dụ:

  • Cho phép nó chạm vào các nút.
  • Nhập nội dung vào các biểu mẫu.
  • Lướt qua trang web của bạn để kiểm tra xem mọi thứ có ổn không, v.v.

Cách cài đặt và cấu hình PyDev in Eclipse

PyDev là Python môi trường phát triển cho Eclipse.

Bước 1) Đến phần Eclipse Marketplace. Trợ giúp > Cài đặt phần mềm mới.

Cài đặt và cấu hình PyDev in Eclipse

Bước tiếp theo là cài đặt “pydev IDE” cho Eclipse.

Bước 2) Ở bước này:

  1. Tìm kiếm “http://pydev.org/updates” trong mục Làm việc với, rồi sau đó
  2. Chọn tất cả các mục trong danh sách và nhấp vào Tiếp theo hai lần.
  3. Chấp nhận Thỏa thuận cấp phép và nhấp vào Hoàn tất.

Cài đặt và cấu hình PyDev in Eclipse

Bước 3) Bạn có thể gặp cảnh báo bảo mật. Hãy nhấp vào “Cài đặt dù sao đi nữa”.

Cài đặt và cấu hình PyDev in Eclipse

Bước 4) Thiết lập tùy chọn để bạn có thể sử dụng Python Theo yêu cầu của dự án. Vào Window > Preferences > PyDev > Thông dịch viên > Python Thông dịch viên.

Cài đặt và cấu hình PyDev in Eclipse

Đặt mặc định Python Phiên dịch viên, giống như bạn đã thiết lập Java trình biên dịch để chạy Java Để thay đổi tên trình thông dịch, hãy nhấp vào nút Duyệt tìm tệp thực thi python/pypy.

Cài đặt và cấu hình PyDev in Eclipse

Bước 5) Ở bước này, hãy cung cấp “tên trình thông dịch” và đường dẫn tệp “exe” của Python.

  1. Nhấp vào 'Duyệt' và tìm python.exe nơi bạn đã cài đặt Python.
  2. Nhấp vào nút 'OK'.
  3. Chọn tất cả các thư mục và nhấn OK.
  4. Nhấp vào “Áp dụng và Đóng”.

Cài đặt và cấu hình PyDev in Eclipse

Bước 6) Tạo dự án mới trong Python. Trong bước này:

  1. Click chuột phải PyDev Gói Explorer > Mới.
  2. Chọn tùy chọn khác.

Cài đặt và cấu hình PyDev in Eclipse

  1. Chọn "PyDev > PyDev Dự án".
  2. Nhấn nút 'Tiếp theo'.

Cài đặt và cấu hình PyDev in Eclipse

  1. Đặt tên cho dự án của bạn.
  2. Nhấp vào "Hoàn tất".

Cài đặt và cấu hình PyDev in Eclipse

Bạn có thể xem cái mới Python (PyDev) dự án được tạo.

Bước 7) Sau khi tạo 'PyDev Project', bạn sẽ tạo một cái mới Python Gói.

  1. Nhấp chuột phải vào Dự án> Mới> PyDev Gói.
  2. Đặt tên cho gói hàng của bạn và nhấn Hoàn tất.

Cài đặt và cấu hình PyDev in Eclipse

Cài đặt và cấu hình PyDev in Eclipse

Bước 8) Như bạn thấy trong ảnh chụp màn hình bên dưới, một gói mới đã được tạo.

Cài đặt và cấu hình PyDev in Eclipse

Tiếp theo, tạo một PyDev mô-đun. Mô-đun này chứa Python các tập tin dùng để khởi tạo, các hàm của chúng có thể được nhập vào một mô-đun khác, tránh việc phải viết lại chương trình.

Bước 9) Tạo một cái mới PyDev mô-đun. Nhấp chuột phải vào gói> Mới> PyDev mô-đun.

Cài đặt và cấu hình PyDev in Eclipse

Đặt tên cho mô-đun của bạn và nhấp vào “Hoàn tất”.

Cài đặt và cấu hình PyDev in Eclipse

Chọn Mẫu trống và nhấn “OK”.

Cài đặt và cấu hình PyDev in Eclipse

Bước 10) Viết mã của bạn cho Selenium với Python như hình dưới đây.

Cài đặt và cấu hình PyDev in Eclipse

Cách tạo tập lệnh kiểm thử trong Selenium với Python

Với Selenium WebDriver với Python Ví dụ, chúng tôi đã tự động hóa trang đăng nhập Facebook bằng cách sử dụng... Firefox người lái xe.

Selenium với Python Ví dụ 1: Đăng nhập vào Facebook

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
user_name = "YOUR EMAILID"
password = "YOUR PASSWORD"
driver = webdriver.Firefox()
driver.get("https://www.facebook.com")
element = driver.find_element_by_id("email")
element.send_keys(user_name)
element = driver.find_element_by_id("pass")
element.send_keys(password)
element.send_keys(Keys.RETURN)
element.close()

Ảnh chụp nhanh của Code

Tạo tập lệnh kiểm tra trong Selenium với Python

Giải thích mã

  • Code dòng 1: Từ module selenium, hãy nhập webdriver.
  • Code dòng 2: Từ module selenium, hãy nhập Keys.
  • Code dòng 3: user_name là một biến dùng để lưu trữ giá trị của tên người dùng.
  • Code dòng 4: Biến “password” sẽ được sử dụng để lưu trữ giá trị của mật khẩu.
  • Code dòng 5: Khởi tạo “Firefox” bằng cách tạo ra một đối tượng của nó.
  • Code dòng 6: Phương thức “driver.get” điều hướng đến trang được chỉ định bởi… URLWebDriver sẽ đợi cho đến khi trang tải hoàn toàn trước khi trả quyền điều khiển về cho tập lệnh của bạn.
  • Code dòng 7: Tìm phần tử hộp văn bản nơi cần nhập "email".
  • Code dòng 8: Gửi các giá trị vào mục email.
  • Code dòng 9: Tương tự với mật khẩu.
  • Code dòng 10: Gửi các giá trị vào phần mật khẩu.
  • Code dòng 11: element.send_keys(Keys.RETURN) nhấn phím Enter sau khi các giá trị được nhập.
  • Code dòng 12: Đóng.

Đầu ra: Đã nhập tên người dùng “guru99” và mật khẩu.

Tạo tập lệnh kiểm tra trong Selenium với Python

Trang Facebook sẽ đăng nhập bằng email và mật khẩu. Trang đã được mở (xem hình bên dưới).

Tạo tập lệnh kiểm tra trong Selenium với Python

Selenium với Python Ví dụ 2: Đăng nhập vào Facebook và kiểm tra tiêu đề

Trong ví dụ này, chúng ta sẽ mở trang đăng nhập, điền các trường bắt buộc là “tên người dùng” và “mật khẩu”, rồi kiểm tra tiêu đề trang.

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
# Step 1) Open Firefox
browser = webdriver.Firefox()
# Step 2) Navigate to Facebook
browser.get("http://www.facebook.com")
# Step 3) Search & Enter the Email or Phone field & Enter Password
username = browser.find_element_by_id("email")
password = browser.find_element_by_id("pass")
submit   = browser.find_element_by_id("loginbutton")
username.send_keys("YOUR EMAILID")
password.send_keys("YOUR PASSWORD")
# Step 4) Click Login
submit.click()
wait = WebDriverWait( browser, 5 )
page_title = browser.title
assert page_title == "Facebook"

Ảnh chụp nhanh mã

Tạo tập lệnh kiểm tra trong Selenium với Python

Giải thích mã:

  • Code dòng 1-2: Nhập các gói Selenium.
  • Code dòng 4: khởi Firefox bằng cách tạo ra một đối tượng.
  • Code dòng 6: Truy cập trang đăng nhập (Facebook).
  • Code dòng 8-10: Lấy thông tin tên người dùng, ô nhập mật khẩu và nút gửi.
  • Code dòng 11-12: Nhập thông tin vào các ô nhập tên người dùng và mật khẩu.
  • Code dòng 14: Nhấp vào nút "Gửi".
  • Code dòng 15: Tạo một đối tượng chờ với thời gian chờ là 5 giây.
  • Code dòng 16: Lấy tiêu đề từ đối tượng “trình duyệt”.
  • Code dòng 17: Kiểm tra chuỗi tiêu đề đã thu được bằng từ khóa “Facebook”.

Tại sao phải chọn Python kết thúc Java in Selenium

Một vài điểm thuận lợi Python kết thúc Java sử dụng với Selenium là:

  1. Java các chương trình có xu hướng chạy chậm hơn so với Python chương trình.
  2. Java sử dụng các thanh giằng truyền thống để bắt đầu và kết thúc các khối, trong khi Python sử dụng thụt lề.
  3. Java sử dụng kiểu tĩnhping, trong khi Python được gõ động.
  4. Python đơn giản và nhỏ gọn hơn so với Java.

Câu Hỏi Thường Gặp

Chạy lệnh `pip install selenium.Modern`. Selenium tàu với Selenium Trình quản lý này tự động tải xuống trình điều khiển trình duyệt phù hợp, do đó không cần thiết lập chromedriver thủ công.

WebDriver là Selenium giao diện điều khiển trình duyệt thực, gửi lệnh đến FirefoxSử dụng trình duyệt Chrome hoặc Edge để điều khiển điều hướng, nhấp chuột và nhập liệu biểu mẫu.

Selenium 4. Đã xóa find_element_by_id. Hãy sử dụng lớp By: from selenium.webdriver.common.by import By, then driver.find_element(By.ID, “email”).

Chờ ngầm (implicit wait) sẽ liên tục kiểm tra DOM trong một khoảng thời gian nhất định. Chờ tường minh (explicit wait - WebDriverWait) sẽ tạm dừng cho đến khi một điều kiện cụ thể được đáp ứng. Tránh kết hợp cả hai để ngăn ngừa thời gian phản hồi không thể đoán trước.

STT PyDev in Eclipse là một lựa chọn. Bạn cũng có thể chạy Selenium Python kịch bản trong PyCharm, VS Codehoặc từ dòng lệnh.

Selenium WebDriver hỗ trợ FirefoxChrome, Edge, Safari và Internet Explorer. Giống nhau. Python kịch bản chạy qua chúng bằng cách hoán đổiping người lái xe.

Đúng vậy. Các trợ lý AI như ChatGPT chuyển đổi mô tả bài kiểm tra bằng ngôn ngữ thông thường thành... Selenium Python Viết mã, đề xuất bộ định vị và chuyển đổi các lệnh find_element_by_id cũ sang cú pháp By.

Đúng vậy. GitHub Copilot đề xuất các bộ định vị ổn định, giải thích lỗi NoSuchElementException và khuyến nghị chờ đợi rõ ràng, giảm thiểu các bài kiểm tra không ổn định trên các trang động.

Tóm tắt bài viết này với: