Selenium python xử lý cảnh báo Chrome như thế nào?

Cảnh báo trong Selenium là một hộp thông báo nhỏ xuất hiện trên màn hình để cung cấp cho người dùng một số thông tin hoặc thông báo. Nó thông báo cho người dùng một số thông tin hoặc lỗi cụ thể, yêu cầu quyền thực hiện một số tác vụ nhất định và nó cũng cung cấp các thông báo cảnh báo.

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách xử lý cửa sổ bật lên trong Selenium và các loại cảnh báo khác nhau được tìm thấy trong Kiểm tra ứng dụng web. Chúng ta cũng sẽ xem cách xử lý Cảnh báo trong Selenium WebDriver và tìm hiểu cách chấp nhận và từ chối cảnh báo tùy thuộc vào loại cảnh báo

Mục lục

Các loại cảnh báo trong Selenium

1] Cảnh báo đơn giản

Lớp cảnh báo đơn giản trong Selenium hiển thị một số thông tin hoặc cảnh báo trên màn hình

//demo.guru99.com/test/delete_customer.php

Bước 2] Nhập bất kỳ id khách hàng nào

Bước 3] Sau khi nhập ID khách hàng, Nhấp vào nút “Gửi”

Bước 4] Từ chối/chấp nhận cảnh báo

Xử lý cảnh báo trong Selenium Webdriver

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.NoAlertPresentException;	
import org.openqa.selenium.Alert;

public class AlertDemo {
	
	public static void main[String[] args] throws NoAlertPresentException,InterruptedException  {									
		System.setProperty["webdriver.chrome.driver","G:\\chromedriver.exe"];
		WebDriver driver = new ChromeDriver[];
	
        
        // Alert Message handling
                    		
        driver.get["//demo.guru99.com/test/delete_customer.php"];			
                            		
     	      	
        driver.findElement[By.name["cusid"]].sendKeys["53920"];					
        driver.findElement[By.name["submit"]].submit[];			
        		
        // Switching to Alert        
        Alert alert = driver.switchTo[].alert[];		
        		
        // Capturing alert message.    
        String alertMessage= driver.switchTo[].alert[].getText[];		
        		
        // Displaying alert message		
        System.out.println[alertMessage];	
        Thread.sleep[5000];
        		
        // Accepting alert		
        alert.accept[];		
    }	

}
		

đầu ra

Khi bạn thực thi đoạn mã trên, nó sẽ khởi chạy trang web và khi nhấp vào liên kết “Nhấp vào đây”, nó sẽ mở ra một cửa sổ con trong tab mới. Bạn có thể đóng cửa sổ con và chuyển sang cửa sổ cha sau khi thao tác hoàn tất. Do đó xử lý nhiều hơn một cửa sổ trong ứng dụng

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

Create Alert function alertFunction[] { alert["Hi!, I am a Simple Alert. Please Click on the 'OK' Button."]; }

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

________số 8_______

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

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 Confirmation 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
message=obj.text
print ["Alert shows following message: "+ message ]

time.sleep[2]

#Section 1
#use the accept[] method to accept the alert
obj.accept[]

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

time.sleep[2]

#refresh the webpage
driver.refresh[]

# Section 2
# Re-generate the Confirmation Alert
button = driver.find_element_by_name['alert']
button.click[]

time.sleep[2]

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

# Dismiss the Alert using
obj.dismiss[]

#get the text returned when Cancel Button is clicked.
txt = driver.find_element_by_id['msg']
print[txt.text]

driver.close

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

Continue

function myFunction[] { var login = prompt["Please re-enter your name", "xxxxxx"]; if [login != null] { document.getElementById["msg"].innerHTML = "Welcome " + login + "!! How can I help you?"; alert["You have logged in successfully !!"] } }

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 Prompt Alert 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 để xử lý thông báo trình duyệt Chrome trong Selenium Python?

Từng bước thực thi Mã. - .
Tạo một thể hiện của lớp ChromeOptions. .
Thêm công tắc chrome để tắt thông báo – “–disable-notifications”.
Đặt đường dẫn cho trình điều khiển chrome. .
Truyền phiên bản ChromeOptions cho Trình xây dựng ChromeDriver

Selenium xử lý cảnh báo Web như thế nào?

Các phương pháp sau hữu ích để xử lý các cảnh báo trong Selenium. .
Loại bỏ vô hiệu []. Phương pháp này được sử dụng khi nhấp vào nút 'Hủy' trong hộp cảnh báo. .
Không chấp nhận[]. Phương pháp này được sử dụng để nhấp vào nút 'OK' của cảnh báo. .
Chuỗi getText[]. Phương pháp này được sử dụng để ghi lại thông báo cảnh báo

Làm cách nào để chụp thông báo Cảnh báo trong Selenium WebDriver Python?

từ Selenium nhập webdriver
từ selen. webdriver. phổ thông. nhập cảnh báo Cảnh báo
trình điều khiển = webdriver. Chrome['D. \\ chromedriver. exe']
tài xế. lấy ['url']
cảnh báo = Cảnh báo [trình điều khiển]
in [cảnh báo. chữ]
báo động. Chấp nhận[]
báo động. bỏ qua[]

Làm cách nào để kiểm tra Cảnh báo được hiển thị trong Selenium Python?

Kiểm tra xem có cảnh báo nào không bằng Selenium với python .
trình duyệt = webdriver. firefox[]
trình duyệt. nhận ["url"]
trình duyệt. find_the_element_by_id["thêm_nút"]. nhấp chuột[]
s = bộ [trình duyệt. window_handles]
s. xóa [trình duyệt. current_window_handle]
trình duyệt. switch_to_window[s. nhạc pop[]]

Chủ Đề