15 Dùng Python xử lý alert Javascript

Chuyên mục: Python
Cập nhật: 12/12/2024
15 Dùng Python xử lý alert Javascript

MÃ CODE:

from selenium import webdriver
#chrome driver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
service_obj = Service("C:/Users/DELL/Desktop/chromedriver-win64/chromedriver.exe")
driver = webdriver.Chrome(service=service_obj)
name = "Hiển"
driver.get("https://rahulshettyacademy.com/AutomationPractice/")
driver.find_element(By.CSS_SELECTOR,"#name").send_keys(name)
driver.find_element(By.ID,"alertbtn").click()
alert = driver.switch_to.alert
alertText = alert.text
print(alertText)
assert name in alertText
alert.accept()

Phân tích các dòng mã:

pythonCopy codefrom selenium import webdriver
  • Giới thiệu Selenium WebDriver: Dòng này nhập thư viện webdriver từ Selenium, cho phép bạn điều khiển trình duyệt web (như Chrome) thông qua Python.
pythonCopy code#chrome driver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
  • Nhập các module cần thiết: Dòng này nhập các thành phần cần thiết để tương tác với trình duyệt:
    • Service: Cho phép bạn chỉ định vị trí của chromedriver.exe.
    • By: Cung cấp các phương thức để xác định các phần tử trên trang web (như ID, CSS_SELECTOR, XPATH,...).
pythonCopy codeservice_obj = Service("C:/Users/DELL/Desktop/chromedriver-win64/chromedriver.exe")
driver = webdriver.Chrome(service=service_obj)
  • Khởi tạo ServiceWebDriver:
    • Service: Khởi tạo đối tượng Service với đường dẫn đến tệp chromedriver.exe trên máy tính của bạn. chromedriver.exe là công cụ cần thiết để Selenium có thể điều khiển Chrome.
    • webdriver.Chrome(): Tạo một đối tượng WebDriver cho Chrome, sử dụng đối tượng Service mà bạn đã tạo. Điều này khởi động một cửa sổ trình duyệt Chrome và chuẩn bị cho việc tự động hóa.
pythonCopy codename = "Hiển"
  • Khởi tạo biến name: Biến này chứa chuỗi "Hiển", sẽ được nhập vào một trường trong form trên trang web.
pythonCopy codedriver.get("https://rahulshettyacademy.com/AutomationPractice/")
  • Mở trang web: Dòng này chỉ định URL của trang web mà bạn muốn tự động hóa thao tác. Trong trường hợp này, là trang "AutomationPractice" từ Rahul Shetty Academy.
pythonCopy codedriver.find_element(By.CSS_SELECTOR,"#name").send_keys(name)
  • Tìm trường nhập liệu (input field) và nhập văn bản:
    • find_element(By.CSS_SELECTOR, "#name"): Tìm phần tử có ID là name bằng cách sử dụng CSS selector. Phần tử này là trường nhập liệu trong trang web.
    • send_keys(name): Nhập văn bản "Hiển" vào trường nhập liệu này.
pythonCopy codedriver.find_element(By.ID,"alertbtn").click()
  • Tìm và nhấp vào nút: Dòng này tìm nút có ID là alertbtn và nhấp vào nút đó. Đây là nút sẽ kích hoạt một cửa sổ thông báo (alert) trên trang web.
pythonCopy codealert = driver.switch_to.alert
  • Chuyển đến cửa sổ alert: Sau khi nhấp vào nút, trang web sẽ hiển thị một cửa sổ thông báo. Dòng này chuyển Selenium vào cửa sổ alert để có thể tương tác với nó.
pythonCopy codealertText = alert.text
  • Lấy nội dung của alert: Dòng này lưu trữ nội dung văn bản của cửa sổ alert vào biến alertText. Nội dung này sẽ là thông báo mà hệ thống hiển thị (chẳng hạn như "Hiển" nếu form điền đúng).
pythonCopy codeprint(alertText)
  • In nội dung của alert: Dòng này in nội dung của alert ra màn hình để bạn có thể kiểm tra thông báo mà hệ thống hiển thị.
pythonCopy codeassert name in alertText
  • Kiểm tra sự đúng đắn của thông báo: Dòng này kiểm tra xem tên "Hiển" có xuất hiện trong nội dung của alert hay không. Nếu không, nó sẽ ném ra lỗi AssertionError và dừng chương trình. Điều này giúp kiểm tra tính chính xác của dữ liệu trong alert.
pythonCopy codealert.accept()
  • Đóng cửa sổ alert: Sau khi xử lý xong thông báo, dòng này đồng ý (accept) và đóng cửa sổ alert. Điều này tương đương với việc nhấn "OK" trong cửa sổ thông báo.

Tổng kết:

  1. Mở trang web: Trình duyệt Chrome được mở và điều hướng đến URL đã chỉ định.
  2. Điền thông tin: Selenium tự động điền tên "Hiển" vào trường nhập liệu.
  3. Nhấp nút: Sau khi điền xong, nút "Alert" được nhấn, dẫn đến một cửa sổ alert hiển thị nội dung.
  4. Lấy thông báo từ alert: Nội dung của alert được lấy ra và in ra màn hình.
  5. Kiểm tra tính đúng đắn của thông báo: Bạn xác nhận rằng thông báo trong alert có chứa tên "Hiển".
  6. Đóng alert: Cửa sổ alert được đóng sau khi kiểm tra.