Chuyển sang cảnh báo Selenium Python

*P. S.

alert = driver.switch_to.alert
2 có thể được sử dụng để xác nhận cửa sổ bật lên được kích hoạt bởi
alert = driver.switch_to.alert
0
alert = driver.switch_to.alert
4 cũng như
alert = driver.switch_to.alert
5

Cảnh báo được sử dụng để hiển thị thông báo thành công, thất bại. Hầu hết khi tự động hóa các ứng dụng đều có các tình huống cần xử lý Cảnh báo

Dưới đây là một vài phương pháp trong selen để xử lý cảnh báo

  1. Chấp nhận()
  2. bỏ qua()
  3. chữ

Dưới đây là đoạn mã trong selen sử dụng python

con trăn

1

2

3

4

5

6

7

8

9

10

11

từ selenium nhập webdriver

từ selen. trình điều khiển web. chung. cảnh báo nhập Cảnh báo

 

trình điều khiển = trình điều khiển web. Chrome('D. \\ chromedriver. exe')

trình điều khiển. lấy('url')

  

cảnh báo = Cảnh báo(trình điều khiển)

in(cảnh báo. văn bản)

 

cảnh báo. chấp nhận()

cảnh báo. loại bỏ()

giải mã

1. từ Selenium nhập webdriver. Dòng này nói rằng, từ Selenium module/library webdriver sẽ được nhập. Thư viện Selenium chứa tất cả các lớp và triển khai cho webdriver

2. từ selen. webdriver. ủng hộ. cảnh báo nhập ui. Dòng này nói rằng, từ Cảnh báo mô-đun/thư viện Selenium sẽ được nhập

3. trình điều khiển = webdriver. Chrome('D. \\ chromedriver. exe'). Trong dòng mã này, phiên bản Chrome Webdriver được tạo. Đường dẫn cho tệp thực thi chromedriver được đề cập bên trong dấu ngoặc đơn

Chúng tôi có thể kiểm tra xem có bất kỳ cảnh báo nào tồn tại với Selenium webdriver hay không. Cảnh báo được thiết kế trên trang web để thông báo cho người dùng hoặc thực hiện một số hành động trên cảnh báo. Nó được thiết kế với sự trợ giúp của Javascript

Một cảnh báo có thể có ba loại - lời nhắc, hộp thoại xác nhận hoặc cảnh báo. Selenium có nhiều API để xử lý cảnh báo với giao diện Cảnh báo. Để kiểm tra sự hiện diện của một cảnh báo, chúng ta sẽ sử dụng khái niệm đợi rõ ràng trong đồng bộ hóa

Như chúng ta đã biết, đợi rõ ràng được phát triển dựa trên Điều kiện mong đợi cho một phần tử cụ thể. Đối với các cảnh báo, chúng tôi sẽ xác minh xem cảnh báo_is_present có tồn tại sau một thời gian chờ cụ thể hay không. Nếu có, chúng tôi sẽ chấp nhận nó. Toàn bộ quá trình xác minh sẽ nằm trong khối thử ngoại trừ

Hãy cho chúng tôi xem nếu cảnh báo trên có trong trang. Lớp WebDriverWait cùng vớiexpectedCondition được sử dụng cho điều kiện chờ rõ ràng

Chúng tôi có thể xử lý các cảnh báo trong Selenium với sự trợ giúp của nhiều API. Các cảnh báo về cơ bản là cửa sổ bật lên của trình duyệt được kích hoạt để loại bỏ hoặc chấp nhận dữ liệu đã nhập

Tất cả những hành động này được thực hiện bởi Selenium với sự trợ giúp của lớp Selenium. webdriver. phổ thông. báo động. Cảnh báo (người lái xe). Nó có các phương pháp để trích xuất văn bản trên một cảnh báo cụ thể, chấp nhận và loại bỏ các cửa sổ bật lên này của trình duyệt

Các yếu tố trên cảnh báo không thể được xác định bằng cách theo dõi chúng từ mã html. Điều này là do chúng được coi là do Javascript thực hiện

Trong hướng dẫn này của loạt bài Selenium Python, chúng ta sẽ học cách xử lý các hộp cảnh báo và hộp bật lên trên một trang web. Thông thường, các ứng dụng web sẽ hiển thị các thông báo cảnh báo để xác nhận hành động của người dùng.

Cảnh báo là một cửa sổ bật lên. Nó được kích hoạt do một số hành động do người dùng thực hiện hoặc tự động do một số cài đặt hệ thống

Mục đích của chúng là cung cấp một số thông tin cho người dùng (cũng có thể là cảnh báo) hoặc xin phép người dùng hoặc lấy một số thông tin đầu vào từ người dùng

Nhấp vào đây để quay lại hướng dẫn chính về Selenium Python

Xử lý hộp thông báo & hộp bật lên trong Selenium Python

Chúng ta có thể phân loại Cảnh báo thành ba loại sau

i) Cảnh báo đơn giản
ii) Thông báo xác nhận
iii) Cảnh báo kịp thời

Bây giờ chúng ta sẽ thảo luận chi tiết về cách xử lý ba loại cảnh báo trên

Giới thiệu – Xử lý hộp thông báo & hộp bật lên

Bất cứ khi nào Cảnh báo được kích hoạt và cửa sổ bật lên xuất hiện trên trang web. Quyền kiểm soát chỉ còn lại với trang web mẹ. Vì vậy, nhiệm vụ đầu tiên của Selenium Webdriver là chuyển tiêu điểm từ trang mẹ sang cửa sổ bật lên Cảnh báo. Nó có thể được thực hiện bằng cách sử dụng đoạn mã sau

alert_obj = driver.switch_to.alert

Sau khi điều khiển đã chuyển sang cửa sổ bật lên Cảnh báo, chúng ta có thể thực hiện các hành động khác nhau trên nó bằng các phương pháp được đề xuất như

  • cảnh báo_obj. accept() – được sử dụng để chấp nhận Cảnh báo
  • cảnh báo_obj. bỏ () – được sử dụng để hủy Cảnh báo
  • báo động. send_keys() – được sử dụng để nhập giá trị vào hộp văn bản Cảnh báo
  • báo động. text() – được sử dụng để truy xuất tin nhắn có trong cửa sổ bật lên Cảnh báo

Xử lý một cảnh báo đơn giản

Một cảnh báo đơn giản có một thông báo trên đó và nút 'OK'. Khi nó bật lên, người dùng nhấp vào nút 'OK' để chấp nhận nó

Đây là mã HTML sẽ tạo Cảnh báo đơn giản khi nhấp vào nút 'Tạo cảnh báo' trên trang chính




Simple Alert Demonstration

click the Below Button to create an Alert

Bạn cần sao chép mã HTML ở trên và lưu nó với tên “Simple_Alert. HTML. ”

Xử lý cảnh báo # Hộp bật lên đơn giản

Sau đây là đoạn mã để xử lý Cảnh báo đơn giản

from selenium import webdriver
import time

driver = webdriver.Firefox()
driver.maximize_window()
location = "file://"
driver.get(location)

#Click on the "Alert" button to generate the Simple Alert
button = driver.find_element_by_name('alert')
button.click()

#Switch the control to the Alert window
obj = driver.switch_to.alert

#Retrieve the message on the Alert window
msg=obj.text
print ("Alert shows following message: "+ msg )

time.sleep(2)

#use the accept() method to accept the alert
obj.accept()

print(" Clicked on the OK Button in the Alert Window")

driver.close

Đoạn mã trên mô phỏng một Cảnh báo đơn giản và sau đó chuyển điều khiển sang cửa sổ Cảnh báo. Sau đó, nó xác minh tin nhắn trong cửa sổ Cảnh báo và chấp nhận nó

Xử lý cảnh báo xác nhận

Nó tương tự như Cảnh báo đơn giản. Chỉ là nó có thêm nút 'Hủy' để loại bỏ Cảnh báo nếu cần

Mã HTML sau sẽ tạo Cảnh báo xác nhận




Confirmation Alert Demonstration

click the Below Button to create an Alert

Tôi đã lưu tệp này trên máy tính cục bộ của mình với tên ‘Confirmation_Alert. HTML. ’

Xử lý cảnh báo # Hộp bật lên xác nhận

Đây là mã để xử lý Cảnh báo xác nhận

________số 8_______

Bây giờ hãy tóm tắt các bước được đề cập trong đoạn mã trên

  • Trước hết, hãy lưu mã HTML ở trên với tên ‘Confirmation_Alert. HTML' trong máy
  • Chúng tôi phải chỉ định đường dẫn trên trong trình giữ chỗ được xác định trong mã Webdriver để xử lý Cảnh báo xác nhận
  • Bây giờ trong Phần 1 của mã, chúng tôi nhấp vào nút 'OK' để chấp nhận cảnh báo. Sau đó, chúng tôi đã in thông báo trả về hiển thị trên màn hình
  • Ở Đoạn 2 của code, chúng ta mở lại cảnh báo Xác nhận một lần nữa. Lần này, chúng tôi nhấp vào nút 'Hủy' để loại bỏ hộp cảnh báo. Sau đó, chúng tôi đã in thông báo trả về hiển thị trên màn hình

Xử lý cảnh báo kịp thời

Nó cũng tương tự như hai cảnh báo đầu tiên. Sự khác biệt duy nhất là Prompt cho phép chúng tôi nhập một số văn bản thông qua nó

Sau đây là mã HTML sẽ tạo cảnh báo Nhắc




Employee Login

Bạn cần lưu tệp này dưới dạng 'Prompt_Alert. HTML. ’ Nó cũng đơn giản để xử lý cảnh báo này. Sau khi chuyển focus sang alert, chúng ta có thể nhập text vào đó bằng phương thức send_keys()

Xử lý thông báo # Prompt Popup Box

Đây là mã hoàn chỉnh cho cùng

from selenium import webdriver
import time

driver = webdriver.Firefox()
driver.maximize_window()
location = "file://"
driver.get(location)

#Click on the "employeeLogin" button to generate the Prompt Alert
button = driver.find_element_by_name('continue')
button.click()

#Switch the control to the Alert window
obj = driver.switch_to.alert

time.sleep(2)

#Enter text into the Alert using send_keys()
obj.send_keys('Meenakshi')

time.sleep(2)

#use the accept() method to accept the alert
obj.accept()

#Retrieve the message on the Alert window
message=obj.text
print ("Alert shows following message: "+ message )

time.sleep(2)

obj.accept()

#get the text returned when OK Button is clicked.
txt = driver.find_element_by_id('msg')
print(txt.text)

driver.close

Hãy xem mã một cách chi tiết

  • Trước hết, lưu mã HTML để tạo Cảnh báo Nhắc với tên ‘Prompt_Alert. HTML' trên máy của bạn
  • Bạn phải cung cấp đường dẫn của tệp này trong trình giữ chỗ được cung cấp trong mã. Bạn phải sử dụng dấu gạch chéo lên trong khi chỉ định URL của trang web. Nếu không, nó có thể không hoạt động chính xác

Ví dụ, ở đây tôi phải cung cấp đường dẫn của tệp là

location = "file://C:\Users/Automation-Dev/Desktop/Meenakshi/Selenium Python/Prompt_Alert.HTML
  • After you move the control to the alert using , use the “send_keys()” method to enter the text in the alert window.

Tóm tắt nhanh – Xử lý hộp thông báo & hộp bật lên

Điều quan trọng là phải hiểu cách xử lý các hộp cảnh báo và cửa sổ bật lên bằng Selenium Python. Bạn có thể áp dụng các kỹ thuật trên để giải quyết các trường hợp sử dụng thời gian thực trong các dự án của mình

Để biết thêm thông tin cập nhật về hướng dẫn Selenium Python, hãy theo dõi các tài khoản mạng xã hội (Facebook/Twitter) của chúng tôi

Làm cách nào để chuyển sang cửa sổ Cảnh báo trong Selenium webdriver Python?

Chúng tôi sẽ xử lý cảnh báo bằng các phương pháp sau. .
tài xế. chuyển sang. báo động. Phương pháp này sẽ chuyển trọng tâm sang hộp cảnh báo và trả về một phiên bản của cảnh báo
báo động. Chấp nhận(). Phương pháp này sẽ chấp nhận cảnh báo
báo động. bỏ qua(). Phương pháp này sẽ loại bỏ hộp cảnh báo

Làm cách nào để tạo Cảnh báo trong Selenium Python?

Trước hết, hãy lưu mã HTML ở trên với tên 'Confirmation_Alert. HTML' trong máy. Chúng tôi phải chỉ định đường dẫn trên trong trình giữ chỗ được xác định trong mã Webdriver để xử lý Cảnh báo xác nhận. Bây giờ trong Phần 1 của mã, chúng tôi nhấp vào nút 'OK' để chấp nhận cảnh báo

Chuyển sang trong Selenium Python là gì?

switch_to. phương thức cửa sổ được sử dụng để chuyển đổi giữa các cửa sổ với sự trợ giúp của id window_handles .

Alert() trong trình điều khiển switchTo() là gì?

Cảnh báo có thể có ba loại – lời nhắc cho phép người dùng nhập văn bản, cảnh báo thông thường và cảnh báo xác nhận. Mặc định webdriver chỉ vào được trang chính, khi có cảnh báo thì phương thức switchTo(). alert() được dùng để chuyển điều khiển trình duyệt web tiêu điểm sang cảnh báo .