Python xử lý nhiều cửa sổ trong Selenium như thế nào?

Chúng tôi có thể xử lý các cửa sổ con hoặc tab trong Selenium. Khi làm việc với các cửa sổ con, chúng ta cần luôn chuyển trọng tâm của trình duyệt sang các cửa sổ con, sau đó thực hiện thao tác trên chúng

Theo mặc định, tiêu điểm vẫn nằm trên cửa sổ chính đầu tiên. Có nhiều phương thức có sẵn trong Selenium được liệt kê bên dưới -

  • current_window_handle

    Phương thức này lấy handle của cửa sổ hiện tại

Cú pháp −

driver.current_window_handle
  • window_handles

    Phương pháp này tìm nạp tất cả id xử lý của các cửa sổ hiện đang mở

Cú pháp −

driver.window_handles
w = driver.window_handles[2]

Đoạn mã trên cung cấp id xử lý của cửa sổ thứ hai được mở trong phiên hiện tại

  • chuyển sang. cửa sổ [đối số]

    Phương thức này chuyển trọng tâm của Selenium sang tên cửa sổ được đề cập trong các đối số

Cú pháp −

driver.switch_to.window[childwindow]

Đoạn mã trên chuyển trọng tâm sang tay cầm cửa sổ con

Ví dụ

Triển khai mã với cửa sổ con

from selenium import webdriver
driver = webdriver.Chrome[executable_path="C:\chromedriver.exe"]
# to maximize the browser window
driver.maximize_window[]
#get method to launch the URL
driver.get["//the-internet.herokuapp.com/windows"]
#to refresh the browser
driver.refresh[]
driver.find_element_by_link_text["Click Here"].click[]
#prints the window handle in focus
print[driver.current_window_handle]
#to fetch the first child window handle
chwnd = driver.window_handles[1]
#to switch focus the first child window handle
driver.switch_to.window[chwnd]
print[driver.find_element_by_tag_name["h3"].text]
#to close the browser
driver.quit[]

Trong khi tự động hóa bất kỳ trang web hoặc ứng dụng web nào, chúng ta hẳn đã chứng kiến ​​một tình huống trong đó nhiều cửa sổ mở trong một ứng dụng khi một nút được nhấp và người dùng phải thực hiện một số thao tác trên tất cả các cửa sổ đã mở. Bây giờ người dùng có thể không thể làm việc trên tất cả các cửa sổ cùng một lúc và do đó cần một số cơ chế để qua đó anh ta có thể kiểm soát cửa sổ cha và cửa sổ con hoặc nếu tôi có thể nói từ quan điểm của QA, làm cách nào chúng ta có thể xử lý cửa sổ bằng Selenium?. Trong hướng dẫn này, chúng ta sẽ hiểu cách đạt được điều này với Selenium WebDriver. Chúng tôi sẽ tập trung vào các chủ đề chính sau

  • Cửa sổ trong Selenium là gì?
    • Làm cách nào để xác định cửa sổ cha và cửa sổ con?
  • Tại sao chúng ta cần xử lý nhiều cửa sổ trong Selenium?
  • Tay nắm cửa sổ trong Selenium là gì?
    • Các phương pháp khác nhau được sử dụng để xử lý cửa sổ trong Selenium là gì?
  • Làm cách nào để xử lý các cửa sổ con trong Selenium?
    • Làm cách nào để xử lý nhiều cửa sổ trong Selenium?
    • Ngoài ra, làm cách nào để chúng tôi chuyển trở lại cửa sổ chính từ các cửa sổ con trong Selenium?
    • Làm cách nào để đóng tất cả các cửa sổ trong Selenium?

Cửa sổ trong Selenium là gì?

Một cửa sổ trong bất kỳ trình duyệt nào là trang web chính mà người dùng truy cập sau khi nhấn vào liên kết/URL. Một cửa sổ như vậy trong Selenium được gọi là cửa sổ chính còn được gọi là cửa sổ chính  mở ra khi phiên Selenium WebDriver được tạo và có tất cả tiêu điểm của WebDriver

Để xem ví dụ về giao diện của cửa sổ chính, bạn có thể truy cập trang web demo ToolsQA và kiểm tra. Điều tương tự cũng được hiển thị trong ảnh chụp màn hình bên dưới

Như bạn có thể thấy trong hình trên, mặc dù trang web có nhiều thành phần nhưng tất cả chúng đều là một phần của cửa sổ chính. URL được điều hướng bằng Selenium WebDriver sẽ luôn có ngữ cảnh của cửa sổ chính. Nhưng khi chúng ta nhấp vào nút "Cửa sổ mới" và "Thông báo cửa sổ mới", nó sẽ mở ra các cửa sổ khác, bên trong cửa sổ mẹ. Các cửa sổ này là Cửa sổ con. Hãy hiểu làm thế nào để xác định vị trí cửa sổ cha và con?

Làm cách nào để xác định cửa sổ cha và cửa sổ con?

Khi người dùng truy cập một URL, một trang web sẽ mở ra. Trang chính này là cửa sổ chính  tôi. e cửa sổ chính mà người dùng hiện đang truy cập và sẽ thực hiện bất kỳ thao tác nào. Đây là cùng một trang web sẽ mở khi tập lệnh tự động hóa Selenium của chúng tôi thực thi. Tất cả các cửa sổ sẽ mở bên trong cửa sổ chính của bạn sẽ được gọi là cửa sổ con

Lấy ví dụ về trang web demo ToolsQA, trang chính có các thành phần như tab mới, cửa sổ mới, v.v. là cửa sổ chính của chúng tôi và hai cửa sổ phụ được hiển thị là cửa sổ con sẽ mở khi chúng tôi nhấp vào "Cửa sổ mới" và

Ghi chú. Có thể có một cửa sổ con hoặc nhiều cửa sổ con trong cửa sổ cha của bạn

Một cửa sổ con có thể có hoặc không có bất kỳ URL nào. Như được hiển thị ở trên, Cửa sổ con 1 không có bất kỳ URL rõ ràng nào, trong khi Cửa sổ con 2 có URL rõ ràng

Vì vậy, khi chúng tôi kiểm tra ứng dụng web theo cách thủ công, rất dễ kiểm tra hành vi của các cửa sổ con, vì chúng có thể dễ dàng nhìn thấy trong ngữ cảnh của cửa sổ chính. Nhưng điều tương tự không xảy ra khi tự động hóa bằng Selenium. Hãy hiểu nhu cầu xử lý các loại cửa sổ khác nhau khi tự động hóa ứng dụng bằng Selenium WebDriver là gì?

Tại sao chúng ta cần xử lý nhiều cửa sổ trong Selenium?

Khi người dùng đang làm việc trên một ứng dụng web, có thể xảy ra tình huống trong đó một cửa sổ mới sẽ mở ra bên trong cửa sổ chính của bạn. Hãy xem xét tình huống của một trang web thương mại điện tử bán hàng may mặc sẽ có biểu đồ kích thước được liên kết với từng sản phẩm may mặc và khi nhấp vào, một cửa sổ con sẽ mở ra. Bây giờ, khi chúng ta hiểu rằng Selenium chỉ hoạt động trong một ngữ cảnh cụ thể và mỗi cửa sổ con sẽ có một ngữ cảnh riêng. Vì vậy, để tự động hóa các tình huống như vậy bằng cách sử dụng Selenium WebDriver, chúng ta phải điều khiển WebDriver phù hợp để Selenium có thể lấy ngữ cảnh của cửa sổ cụ thể và thực hiện các hành động cần thiết trong cửa sổ đó

Hãy cố gắng hiểu khái niệm về các ngữ cảnh khác nhau cho mỗi cửa sổ với sự trợ giúp của tự động hóa kịch bản trên - "https. // demoqa. com/trình duyệt-windows". Sau khi mở URL, chúng ta sẽ nhấp vào nút "Cửa sổ mới" trong ứng dụng, một cửa sổ trình duyệt mới sẽ mở ra. Chúng tôi sẽ đọc văn bản từ cửa sổ mới mở i. e "Đây là trang mẫu" và sẽ in nó

Đoạn mã dưới đây sẽ nhấp vào nút "Cửa sổ mới" và sẽ cố đọc văn bản từ Cửa sổ mới

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class childWindow {
    public static void main[String[] args] throws InterruptedException {
        System.setProperty["webdriver.chrome.driver","./src/resources/chromedriver"];
        WebDriver driver = new ChromeDriver[];
        driver.manage[].window[].maximize[];
        driver.get["//demoqa.com/browser-windows"];

        // Open new window by clicking the button
         driver.findElement[By.id["windowButton"]].click[];

         // Click on the new window element and read the text displayed on the window
         WebElement text = driver.findElement[By.id["sampleHeading"]];
   
         // Fetching the text using method and printing it     
         System.out.println["Element found using text: " + text.getText[]];
         driver.quit[];
    }
}

đầu ra. Khi chúng tôi thực thi mã, thông báo "không có phần tử nào như vậy. Không thể xác định vị trí phần tử " xảy ra lỗi do WebDriver không thể định vị phần tử và nhận văn bản được hiển thị trên cửa sổ mới

Như chúng ta có thể thấy, mặc dù văn bản hiển thị trên màn hình, nhưng Selenium WebDriver không thể xác định vị trí của nó, vì nó không ở cùng ngữ cảnh mà Selenium WebDriver đang thực thi

Để chuyển ngữ cảnh, Selenium WebDriver sử dụng một ID cụ thể của cửa sổ, được gọi là tay cầm của cửa sổ. Hãy hiểu chính xác điều khiển cửa sổ trong bối cảnh Selenium là gì?

Tay nắm cửa sổ trong Selenium là gì?

Tay cầm cửa sổ lưu trữ địa chỉ duy nhất của cửa sổ trình duyệt. Nó chỉ là một con trỏ tới một cửa sổ, có kiểu trả về là chữ và số. Xử lý cửa sổ trong Selenium giúp xử lý nhiều cửa sổ và cửa sổ con. Mỗi trình duyệt sẽ có một giá trị xử lý cửa sổ duy nhất mà chúng tôi có thể xác định duy nhất nó

Ví dụ. Khi bạn mở một trang web, hãy nói " https. // demoqa. com/browser-windows" và nhấp vào các cửa sổ trình duyệt bên trong, mỗi cửa sổ được mở sẽ có một ID mà chúng ta có thể chuyển bối cảnh Selenium WebDriver sang cửa sổ đó và thực hiện bất kỳ thao tác nào trong cửa sổ đó. Trong hình bên dưới, bạn có thể thấy ba cửa sổ - một cửa sổ chính và hai cửa sổ con. Cả ba người trong số họ sẽ có một tay cầm cửa sổ duy nhất tôi. một ID

Mỗi cửa sổ ở đây sẽ có một ID duy nhất mà chúng ta có thể lấy bằng các phương thức do Selenium Webdriver cung cấp và sau đó sử dụng ID tương tự để chuyển ngữ cảnh sang cửa sổ được chỉ định đó. Trước tiên hãy hiểu các phương pháp khác nhau được cung cấp bởi Selenium WebDriver để xử lý các cửa sổ là gì?

Các phương pháp khác nhau được sử dụng để xử lý cửa sổ trong Selenium là gì?

Selenium WebDriver cung cấp nhiều phương pháp khác nhau để xử lý các cửa sổ. Rất ít trong số họ là

  • getWindowHandle[]. Khi một trang web mở ra, chúng ta cần xử lý cửa sổ chính i. e cửa sổ cha mẹ sử dụng trình điều khiển. getWindowHandle[]; . Với phương pháp này, chúng tôi nhận được một ID duy nhất của cửa sổ hiện tại sẽ xác định nó trong phiên bản trình điều khiển này. Phương thức này sẽ trả về giá trị kiểu String
  • getWindowHandles[]. Để xử lý tất cả các cửa sổ đang mở là cửa sổ con bằng trình điều khiển web, chúng tôi sử dụng trình điều khiển. getWindowHandles[]; . Cửa sổ lưu trữ theo kiểu Tập hợp chuỗi và ở đây chúng ta có thể thấy quá trình chuyển đổi từ cửa sổ này sang cửa sổ khác trong ứng dụng web. Kiểu trả về của nó là Set
  • chuyển sang[]. Sử dụng phương pháp này, chúng tôi thực hiện thao tác chuyển đổi trong cửa sổ
  • hoạt động. Phương pháp này giúp thực hiện một số hành động nhất định trên cửa sổ

Làm cách nào để xử lý các cửa sổ con trong Selenium?

Như đã thấy trong ví dụ trên nếu chúng ta có các cửa sổ con trong bất kỳ ứng dụng web nào thì việc tương tác với chúng mà không xử lý cửa sổ phù hợp sẽ dẫn đến một ngoại lệ. Đối với điều này, chúng tôi có các phương pháp khác nhau được giải thích ở trên, chúng tôi sẽ sử dụng chúng ở đây với một ví dụ thực tế

Chúng ta sẽ sử dụng phương thức getWindowHandle[] và getWindowHandles[] ở đây cùng với phương thức switchto[]. Trong ảnh chụp nhanh bên dưới, chúng tôi đã nêu bật hai phương pháp chính để xử lý cửa sổ trong Selenium

Lấy ví dụ tương tự về " Trang web thử nghiệm ToolsQA" ở trên khi gặp phải ngoại lệ, chúng tôi sẽ chỉ ra cách nó sẽ được thực thi thành công. Sau khi mở URL, chúng ta sẽ nhấp vào nút "Cửa sổ mới" trong ứng dụng, một cửa sổ trình duyệt mới sẽ mở ra. Chúng tôi sẽ đọc văn bản từ cửa sổ mới mở i. e "Đây là trang mẫu" và sẽ in nó

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.Iterator;
import java.util.Set;

public class childWindow {
    public static void main[String[] args] {
        System.setProperty["webdriver.chrome.driver", "./src/main/resources/chromedriver"];
        WebDriver driver = new ChromeDriver[];
        driver.manage[].window[].maximize[];
        driver.get["//demoqa.com/browser-windows"];

        // Open new child window within the main window
        driver.findElement[By.id["windowButton"]].click[];

        //Get handles of the windows
        String mainWindowHandle = driver.getWindowHandle[];
        Set allWindowHandles = driver.getWindowHandles[];
        Iterator iterator = allWindowHandles.iterator[];

        // Here we will check if child window has other child windows and will fetch the heading of the child window
        while [iterator.hasNext[]] {
            String ChildWindow = iterator.next[];
                if [!mainWindowHandle.equalsIgnoreCase[ChildWindow]] {
                driver.switchTo[].window[ChildWindow];
                WebElement text = driver.findElement[By.id["sampleHeading"]];
                System.out.println["Heading of child window is " + text.getText[]];
            }
        }
    }
}
  • Ra mắt trang web "https. // demoqa. com/browser-windows" và nhấp vào cửa sổ - "windowbutton"
  • Chuỗi mainwindow = trình điều khiển. getWindowHandle[]. Nó lưu trữ giá trị cửa sổ cha mẹ trong một mã định danh duy nhất của loại chuỗi
  • Set s = driver.getWindowHandles[]: All child windows are stored in a set of strings.
  • Iterator i = s.iterator[] : Here we will iterate through all child windows.
  • nếu [. Cửa sổ chính. bằngIgnoreCase[ChildWindow]]. Bây giờ hãy kiểm tra chúng bằng cách so sánh cửa sổ chính với các cửa sổ con
  • người lái xe. chuyển sang[]. cửa sổ [ChildWindow]. Chuyển sang cửa sổ con và đọc tiêu đề
  • Văn bản WebElement = trình điều khiển. findElement[By. id["tiêu đề mẫu"]]. Tìm phần tử và lưu trữ trong phần tử web qua đó chúng ta sẽ nhận được văn bản của tiêu đề bằng phương thức gettext[]

Đầu ra của mã sẽ in dòng chữ “Đây là trang mẫu ” như hình bên dưới

Vì vậy, theo cách này, chúng tôi đã chuyển ngữ cảnh sang cửa sổ con và sau đó in văn bản trong cửa sổ con

Làm cách nào để xử lý nhiều cửa sổ trong Selenium?

Trong Selenium, khi chúng ta có nhiều cửa sổ trong bất kỳ ứng dụng web nào, cách tiếp cận có thể cần chuyển điều khiển giữa một số cửa sổ mà tôi. e từ cửa sổ này sang cửa sổ khác để thực hiện bất kỳ hành động nào và chúng ta có thể đạt được điều này bằng cách sử dụng switchto[]; . Hơn nữa, chúng ta sẽ sử dụng window handle ở đây để lưu trữ giá trị duy nhất của windows và thực hiện xử lý window bằng Selenium

Ghi chú. Nếu bạn phải chuyển đổi giữa các tab thì bạn cũng phải sử dụng phương pháp tương tự

Hãy hiểu điều này với sự trợ giúp của đoạn mã dưới đây

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.Iterator;
import java.util.Set;		

public class multipleChildWinows {				
  public static void main[String[] args] throws InterruptedException {									
    System.setProperty["webdriver.chrome.driver","./src/main/resources/chromedriver"];
    WebDriver driver = new ChromeDriver[];
    driver.manage[].window[].maximize[];
    driver.get["//demoqa.com/browser-windows"];

    // Opening all the child window
    driver.findElement[By.id["windowButton"]].click[];
    driver.findElement[By.id["messageWindowButton"]].click[];
    
    String MainWindow = driver.getWindowHandle[];
    System.out.println["Main window handle is " + MainWindow];

    // To handle all new opened window
    Set s1 = driver.getWindowHandles[];
    System.out.println["Child window handle is" + s1];
    Iterator i1 = s1.iterator[];

    // Here we will check if child window has other child windows and when child window
    //is the main window it will come out of loop.
      while [i1.hasNext[]] {
          String ChildWindow = i1.next[];
          if [!MainWindow.equalsIgnoreCase[ChildWindow]] {
              driver.switchTo[].window[ChildWindow];
              driver.close[];
              System.out.println["Child window closed"];
           }
       }
    }
}
  • Ra mắt trang web "https. // demoqa. com/browser-windows" và nhấp vào hai cửa sổ bật lên - "windowbutton" và "messagewindowbutton"
  • Chuỗi Mainwindow = trình điều khiển. getWindowHandle[]. Nó lưu trữ giá trị cửa sổ chính trong một mã định danh duy nhất của loại chuỗi
  • Set s1 = driver.getWindowHandles[]: All child windows are stored in a set of strings.
  • Iterator i1 = s1.iterator[] : Here we will iterate through all child windows.
  • nếu [. Cửa sổ chính. bằngIgnoreCase[ChildWindow]]. Bây giờ hãy đóng chúng lại bằng cách so sánh cửa sổ chính với các cửa sổ con
  • người lái xe. chuyển sang[]. cửa sổ[ChildWindow]. Nó cũng sẽ in khi các cửa sổ con đóng lại
  • người lái xe. đóng lại[]. Khi cửa sổ chính là cửa sổ duy nhất đang hoạt động thì nó sẽ thoát khỏi vòng lặp và cửa sổ sẽ đóng lại

Sau khi Selenium WebDriver khởi tạo, việc phân bổ một id chữ và số duy nhất sẽ xảy ra đối với cửa sổ có tên là window handle và nó xác định các cửa sổ trình duyệt. Trong đoạn mã trên, cửa sổ cha và một trong các cửa sổ con có cùng ID, hai cửa sổ còn lại có ID khác nhau. Điều này là do cửa sổ cha mẹ là con của chính nó. Nhưng lưu ý rằng chỉ có hai đóng cửa vì cùng một lý do. Vì id này là đặc biệt nên Selenium WebDriver sử dụng id này để chuyển đổi giữa các cửa sổ [hoặc tab] khác nhau. Id giữ lại cho đến khi đóng phiên

Làm cách nào để chuyển về cửa sổ cha từ cửa sổ con trong Selenium?

Khi bạn đã chuyển sang cửa sổ con, Selenium WebDriver sẽ giữ ngữ cảnh hiện tại của cửa sổ đó và bạn sẽ không thể xác định các thành phần có trong cửa sổ cha. Để truy cập các thành phần của cửa sổ cha mẹ, chúng ta phải chuyển tiêu điểm trở lại cửa sổ đó. Chúng tôi có thể đạt được điều này như thể hiện trong đoạn mã dưới đây

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.Iterator;
import java.util.Set;

public class switchbackParentWinow {
    public static void main[String[] args] {
        System.setProperty["webdriver.chrome.driver", "./src/main/resources/chromedriver"];
        WebDriver driver = new ChromeDriver[];
        driver.manage[].window[].maximize[];
        driver.get["//demoqa.com/browser-windows"];
        
        driver.findElement[By.id["windowButton"]].click[];
        String mainwindow = driver.getWindowHandle[];
        Set s1 = driver.getWindowHandles[];
        Iterator i1 = s1.iterator[];
        
        while [i1.hasNext[]] {
            String ChildWindow = i1.next[];
                if [!mainwindow.equalsIgnoreCase[ChildWindow]] {
                driver.switchTo[].window[ChildWindow];
                WebElement text = driver.findElement[By.id["sampleHeading"]];
                System.out.println["Heading of child window is " + text.getText[]];
                driver.close[];
                System.out.println["Child window closed"];
            }
        }    
  
        //  Switch back to the main window which is the parent window.
        driver.switchTo[].window[mainwindow];
        driver.quit[];
    }
}

Đầu ra của đoạn mã trên được hiển thị bên dưới

thực hành tập thể dục. Hãy thử triển khai tình huống sau, nơi bạn có thể in văn bản từ cửa sổ chính sau khi chuyển về cửa sổ chính

  1. Mở URL  " https. // demoqa. com/trình duyệt-windows"
  2. Bấm vào tất cả các cửa sổ con
  3. In văn bản hiện trên tất cả các cửa sổ con trong bảng điều khiển
  4. In tiêu đề của cửa sổ chính trong bảng điều khiển

Làm cách nào để đóng tất cả các cửa sổ trong Selenium?

Khi chúng tôi đang làm việc trên nhiều cửa sổ, điều quan trọng là phải đóng các cửa sổ đồng thời khi chúng tôi hoàn thành hành động. Để đóng cửa sổ mà WebDriver có tiêu điểm hiện tại, chúng tôi có trình điều khiển. đóng lại[]; . Chúng tôi chủ yếu sử dụng phương pháp này khi có nhiều cửa sổ và chúng tôi muốn đóng một cửa sổ có chọn lọc

Một phương pháp khác tồn tại để đóng cửa sổ là trình điều khiển. khỏi [ ] sẽ đóng tất cả các cửa sổ đã mở trong một phiên cụ thể. Về cơ bản, nó dừng phiên bản trình điều khiển và bất kỳ hành động nào khác đối với WebDriver có thể dẫn đến một ngoại lệ. Nó thường là câu lệnh cuối cùng của bất kỳ mã nào

Trong các ví dụ nêu trên, chúng tôi đã sử dụng cả hai phương pháp

Ghi chú. Sau khi đóng một cửa sổ con, chúng ta phải chuyển trở lại cửa sổ cha một cách rõ ràng trước khi sử dụng bất kỳ lệnh WebDriver nào để tránh ngoại lệ "nosuchwindow"

Làm cách nào để xử lý nhiều cửa sổ trong Selenium?

Đặt thuộc tính hệ thống thành Chromedriver và chỉ định đường dẫn của nó
Khởi tạo webdriver sang chromedriver mới
Nhận URL của trang web và tối đa hóa trang
Lấy tay cầm cửa sổ của cửa sổ cha
Lấy tay cầm cửa sổ của tất cả các cửa sổ

Làm cách nào để chuyển đổi giữa nhiều cửa sổ trong Selenium Python?

Các bước thực hiện. .
Lấy handle của cửa sổ cha bằng lệnh. Chuỗi parentWindowHandle = trình điều khiển. .
In tay cầm cửa sổ của cửa sổ cha
Tìm phần tử trên trang web bằng ID là công cụ định vị phần tử
Mở nhiều cửa sổ con
Lặp lại qua các cửa sổ con

Làm cách nào để lấy tất cả các tay cầm cửa sổ trong Selenium Python?

Python Selenium cung cấp tùy chọn để xử lý nhiều cửa sổ bằng cách sử dụng 'window_handles'. .
Nhận tất cả các tay cầm cửa sổ
Chuyển sang cửa sổ bằng trình điều khiển. chuyển sang. cửa sổ [tay cầm]
Nhận và in tiêu đề cửa sổ

Python xử lý các cửa sổ bật lên trong Selenium như thế nào?

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 cách sử dụng hàm WindowHandle[] .

Chủ Đề