Đăng nhập chrome Python Selenium trong cửa sổ bật lên

Giả sử bạn đang điền vào một mẫu đơn và bỏ lỡ một số chi tiết. Làm sao bạn biết được điều này trừ khi có cảnh báo hoặc cửa sổ bật lên để thông báo cho bạn?

Để thực hành cách xử lý các cảnh báo và cửa sổ bật lên trong Selenium, hãy tìm hiểu sâu hơn về các chủ đề được đề cập bên dưới

Giới thiệu về Cảnh báo trong Selenium

Cảnh báo trong Selenium là hộp thông báo/tin nhắn thông báo cho người dùng về một số thông tin hoặc yêu cầu quyền thực hiện một loại thao tác nhất định. Nó cũng có thể được sử dụng cho mục đích cảnh báo

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

Có ba loại Alert trong Selenium, được mô tả như sau

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

Cảnh báo này được sử dụng để thông báo một thông báo cảnh báo đơn giản bằng nút 'OK', như thể hiện trong ảnh chụp nhanh bên dưới

Đăng nhập chrome Python Selenium trong cửa sổ bật lên

2. cảnh báo kịp thời

Cảnh báo này sẽ yêu cầu người dùng nhập thông tin cần thiết để hoàn thành tác vụ. Trong ảnh chụp nhanh bên dưới, bạn có thể thấy rằng nếu không nhập điểm đến cho Khách sạn, bạn không được phép nhấn nút tìm kiếm

Đăng nhập chrome Python Selenium trong cửa sổ bật lên

Bây giờ, đầu vào này có thể được nhập với sự trợ giúp của phương thức sendKeys(“input_text”) trong Selenium Webdriver

3. Thông báo xác nhận

Cảnh báo này về cơ bản được sử dụng để xác nhận một số tác vụ. Ví dụ. Bạn có muốn tiếp tục một nhiệm vụ cụ thể?

Đăng nhập chrome Python Selenium trong cửa sổ bật lên

Bây giờ bạn đã biết cảnh báo trong selen và các loại của nó là gì, hãy tiếp tục và hiểu cách xử lý cảnh báo trong selen

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

Xử lý cảnh báo theo cách thủ công là một công việc tẻ nhạt. Để giảm bớt sự can thiệp của con người và giảm bớt nhiệm vụ này, Selenium cung cấp một loạt các chức năng và phương pháp để xử lý các cảnh báo

Các phương pháp sau đây rất hữu ích để xử lý các cảnh báo trong Selenium

1. 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

driver.switchTo().alert().dismiss();

2. 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

driver.switchTo().alert().accept();

3. Chuỗi getText(). Phương pháp này được sử dụng để ghi lại thông báo cảnh báo

driver.switchTo().alert().getText();

4. Void sendKeys(Chuỗi stringToSend). Phương pháp này được sử dụng để gửi dữ liệu đến hộp cảnh báo

driver.switchTo().alert().sendKeys("Text");

Mẹo trong ngày. 5 thủ thuật Selenium giúp cuộc sống của bạn dễ dàng hơn

Bây giờ hãy hiểu chính xác cách các cảnh báo trong selen hoạt động với sự trợ giúp của một ví dụ

Ví dụ thời gian thực về xử lý cảnh báo

Hãy lấy ví dụ về trang web BrowserStack. Sử dụng trang đăng ký Browserstack để xử lý cảnh báo. Ban đầu, nhập các chi tiết được yêu cầu như trong ảnh chụp bên dưới

Đăng nhập chrome Python Selenium trong cửa sổ bật lên

Bây giờ, không chọn hộp Điều khoản dịch vụ, hãy nhấp vào nút “Đăng ký cho tôi”. Vì cần phải chấp nhận Điều khoản dịch vụ, nó sẽ đưa ra Cảnh báo để chọn hộp Chính sách quyền riêng tư. Ảnh chụp nhanh bên dưới mô tả giống nhau

Đăng nhập chrome Python Selenium trong cửa sổ bật lên

Nhiệm vụ ở đây là xử lý cảnh báo này. Hãy viết một kịch bản thử nghiệm Selenium để xử lý các cảnh báo

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 AlertHandlingDemo {
public static void main(String[] args) throws NoAlertPresentException,InterruptedException { 
System.setProperty("webdriver.chrome.driver","Path_of_Chrome_Driver"); //mention dummy path or variable that stores chrome driver path 
WebDriver driver = new ChromeDriver(); driver.get("https://www.browserstack.com/users/sign_up");

driver.findElement(By.id("user_full_name")).sendKeys("username"); driver.findElement(By.id("input-lg text user_email_ajax")).sendKeys("username.xyz.net");
driver.findElement(By.id("user_password")).sendKeys("Your_Password");
driver.findElement(By.id("user_submit")).click();

Thread.sleep(5000);

Alert alert = driver.switchTo().alert(); // switch to alert

String alertMessage= driver.switchTo().alert().getText(); // capture alert message

System.out.println(alertMessage); // Print Alert Message
Thread.sleep(5000);
alert.accept(); 
}
}

Khi bạn thực thi đoạn mã trên, nó sẽ điều hướng qua trang Đăng ký, nhập các chi tiết cần thiết, nhấn nút Đăng ký cho tôi và đưa ra cảnh báo

Tiếp theo tài xế sẽ chuyển sang chế độ cảnh báo, cố gắng chụp lại thông báo cảnh báo, sau đó hiển thị thông báo

Ghi chú. Để xác minh chéo hoặc xử lý cảnh báo theo cách thủ công, người dùng có thể dán lệnh bên dưới

driver.findElement(By.xpath("//a[@class='bs-alert-close']")).click();

Đó là tất cả về cách xử lý cảnh báo trong Selenium. Với điều này, hãy tiếp tục với bài viết này và hiểu các nguyên tắc cơ bản của cửa sổ bật lên trong Selenium

Trong trường hợp bạn gặp phải bất kỳ sự cố nào, hãy đọc về cách xử lý các ngoại lệ phổ biến trong Selenium Webdriver

Mẹo chuyên nghiệp. Bạn muốn tìm hiểu sâu hơn về triển khai Selenium trên BrowserStack với các khóa học tương tác và bài tập trong phòng thí nghiệm miễn phí?Visit Test University

Giới thiệu về Cửa sổ bật lên trong Selenium

Popup là một cửa sổ hiển thị hoặc bật lên trên màn hình do một số hoạt động. Nếu muốn biết về các tình huống khác nhau của cửa sổ bật lên và cách xử lý chúng, hãy đọc trang tài liệu

Cách xử lý cửa sổ bật lên trong Selenium

Trong Selenium Webdriver có nhiều phương thức xử lý popup

1. Tài xế. getWindowHandles();

Để xử lý các cửa sổ đã mở bằng Selenium Webdriver, bạn có thể sử dụng Driver. getWindowHandles() để chuyển giữa các cửa sổ

2. Tài xế. getWindowHandle();

Khi trang web được tải, bạn có thể xử lý cửa sổ chính bằng cách sử dụng trình điều khiển. getWindowHandle(). Nó sẽ xử lý cửa sổ hiện tại xác định duy nhất trong phiên bản trình điều khiển

cũng đọc. Cách xử lý nhiều cửa sổ trong Selenium

Bây giờ, hãy tiến xa hơn và hiểu cách xử lý hộp thoại web hoặc cửa sổ bật lên bằng Selenium Webdriver với sự trợ giúp của một ví dụ

Xử lý Hộp thoại Web/Cửa sổ bật lên bằng Selenium

Trong Selenium, một lớp robot được sử dụng để xử lý các chức năng của bàn phím và chuột. Nó được sử dụng để đóng cửa sổ bật lên. Bạn có thể lấy tay cầm cửa sổ của cửa sổ bật lên bằng hàm WindowHandle()

Tôi đã tạo trang web của riêng mình để minh họa cách xử lý cửa sổ bật lên trong Selenium. Bạn có thể sao chép mã tương tự và dán vào notepad và lưu nó dưới dạng. html để tiến hành thử nghiệm

Trước khi chạy mã, bạn nên kiểm tra nhanh 6 điều cần tránh khi chạy đoạn mã Selenium. Kiểm tra nó ra

<!DOCTYPE html>
<html>
<head>
<style>

h1 {
color: blue;
margin-left: 60px;
}

button {
color: white;
margin-left: 60px;
background-color: black;
border: none;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
}

button:hover {
background-color: grey;
color: black;
}

.column {
float: left;
width: 33.33%;
}

/* Clear floats after the columns */
.row:after {
content: "";
display: table;
clear: both;
}

</style>
</head>
<body>

<div class=column>

<div align="center"><alt="BrowserStack" width="400" height="80"></div>

<h1><center>Alerts and popups in Selenium</center></h1>

<div align="center"><button id="PopUp" onclick="return popup(this, 'notes')">PopUp</button></div>
<div align="center"><img src="sel.png" alt="BrowserStack" width="400" height="400"></div>

</div>

<script type="text/javascript">
function popup()
{
myWindow = window.open("", "myWindow", "width=400,height=200");
myWindow.document.write("<p>This is a selenium popup window</p>");
}
</script>

</body>
</html>

Bây giờ khi bạn thực hiện điều này và nhấp vào Pop Up, một cửa sổ sẽ được hiển thị như hình bên dưới

Đăng nhập chrome Python Selenium trong cửa sổ bật lên

Bây giờ hãy viết mã để xử lý hộp thoại này

import java.util.Iterator; 
import java.util.Set; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class Popup_Demo { 
public static void main(String[] args) throws InterruptedException { 
WebDriver driver=new FirefoxDriver(); driver.get("Webpage link"); 
driver.manage().window().maximize(); 
Thread.sleep();
driver.findElement(By.id("PopUp")).click(); // Clicking on the popup button
Robot robot = new Robot();
robot.mouseMove(400.5); // Navigating through mouse hover. Note that the coordinates might differ, kindly check the coordinates of x and y axis and update it accordingly.
robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
Thread.sleep(2000);
robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
Thread.sleep(2000);
driver.quit();
}
}

Khi bạn thực hiện điều này, hộp thoại hoặc hộp bật lên sẽ được xử lý. Đây là cách bạn cần xử lý cửa sổ bật lên trong Selenium

Ghi chú. Các chức năng cảnh báo và bật lên được sử dụng rộng rãi trong các mẫu đơn đăng ký trực tuyến và các trang web ngân hàng

Điều này đưa chúng ta đến phần cuối của bài viết này về Cách xử lý cảnh báo và cửa sổ bật lên trong Selenium. Muốn biết thêm về các lệnh cơ bản trong selen, hãy xem bài viết này về Lệnh Selenium

Kiểm tra tự động hóa Selenium Trình quản trị trang web Selenium

Bài đăng này có hữu ích không?

Vâng, cảm ơn Không thực sự

Chúng tôi rất tiếc khi biết điều đó. Hãy chia sẻ phản hồi của bạn để chúng tôi có thể làm tốt hơn

Cảm ơn rất nhiều phản hồi của bạn

Thẻ

Kiểm tra tự động hóa Selenium Trình quản trị trang web Selenium

Những bài viết liên quan

Đăng nhập chrome Python Selenium trong cửa sổ bật lên

Xử lý cửa sổ bật lên đăng nhập trong Selenium WebDriver và Java

Cửa sổ bật lên đăng nhập là một hình ảnh phổ biến trong các ứng dụng web. Tìm hiểu cách xử lý các Cửa sổ bật lên đăng nhập này trong Selenium

Tìm hiểu thêm

Đăng nhập chrome Python Selenium trong cửa sổ bật lên

Cách đóng trình duyệt trong Selenium

Hướng dẫn từng bước về cách đóng trình duyệt trong quá trình kiểm tra Selenium tự động. Chạy thử nghiệm Selenium

Tìm hiểu thêm

Đăng nhập chrome Python Selenium trong cửa sổ bật lên

Cách xử lý iFrame trong Selenium

Tìm hiểu cách xử lý khung nội tuyến trong Selenium bằng phương thức SwitchTo() để chuyển đổi giữa các khung theo cách thông minh

Làm cách nào để xử lý thông tin đăng nhập bật lên trong Selenium Webdriver bằng Python?

Chúng tôi cần thay đổi tay cầm cửa sổ trong trình điều khiển để nhập thông tin đăng nhập vào cửa sổ bật lên . Selenium có chức năng chuyển cửa sổ để truy cập nhiều cửa sổ bằng cùng một trình điều khiển. Chúng ta cần lưu nó để có thể xử lý cửa sổ hiện tại.

Làm cách nào để xử lý cửa sổ bật lên xác thực trong Selenium webdriver trong Chrome python?

Để làm điều này, chúng tôi phải chuyển thông tin đăng nhập của người dùng trong URL . Chúng tôi sẽ phải thêm tên người dùng và mật khẩu vào URL. https. //tên tài khoản. mật khẩu@URL https. //quản trị viên. admin@the-internet. herokuapp. com/basic_auth Ở đây, quản trị viên là tên người dùng và mật khẩu.

Selenium xử lý cửa sổ bật lên đăng nhập như thế nào?

Xử lý cửa sổ bật lên đăng nhập trong Selenium bằng cách chuyển thông tin đăng nhập vào URL .
Cửa sổ bật lên Xác thực cơ bản giống như cửa sổ bật lên cảnh báo
Khi chúng tôi điều hướng đến một trang web cụ thể yêu cầu thông tin xác thực
Để xử lý việc này, chúng tôi có thể chuyển thông tin đăng nhập (Tên người dùng + Mật khẩu) tới URL của trang web

Làm cách nào để nhập tên người dùng và mật khẩu trong cửa sổ bật lên bằng Selenium Python?

Để xử lý cửa sổ bật lên xác thực cơ bản, chúng tôi có thể chuyển tên người dùng và mật khẩu cùng với URL của trang web . Khi cửa sổ bật lên đăng nhập được nhắc, chúng tôi nhập tên người dùng là “admin” và mật khẩu là “admin” rồi đăng nhập. Như vậy là người dùng đã đăng nhập thành công vào website.