Chúng ta có thể đóng một cửa sổ cụ thể bằng Selenium webdriver. getWindowHandles và getWindowHandle các phương pháp có thể được sử dụng để xử lý các cửa sổ con. Phương thức getWindowHandles được sử dụng để lưu trữ tất cả các chốt cửa sổ đã mở trong cấu trúc Đặt dữ liệu.
Phương thức getWindowHandle được sử dụng để lưu trữ tiêu điểm tay cầm cửa sổ của trình duyệt. Chúng tôi phải thêm nhập java.util.Set và nhập java.util.List các câu lệnh để phù hợp Đặt cấu trúc dữ liệu trong mã của chúng tôi.
Theo mặc định, đối tượng trình điều khiển chỉ có thể truy cập các phần tử của cửa sổ mẹ. Để chuyển tiêu điểm của nó từ cửa sổ mẹ sang cửa sổ con, chúng tôi sẽ sử dụng sự trợ giúp của cửa sổ switchTo (). và chuyển id cửa sổ của cửa sổ con làm đối số cho phương thức. Sau đó, để chuyển từ cửa sổ con sang cửa sổ mẹ, chúng tôi sẽ sử dụng sự trợ giúp của cửa sổ switchTo (). và chuyển id xử lý cửa sổ mẹ làm đối số cho phương thức.
Ví dụ
Triển khai mã.
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.concurrent.TimeUnit; import java.util.List; import java.util.Set; public class CloseSpecificWindow { public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\\Users\\ghs6kor\\Desktop\\Java\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("https://secure.indeed.com/account/login"); //implicit wait driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); //window handle of parent window String m = driver.getWindowHandle(); driver.findElement(By.id("login-google-button")).click(); // store window handles in Set Set w = driver.getWindowHandles(); // iterate window handles for (String h: w){ // switching to each window driver.switchTo().window(h); String s= driver.getTitle(); // checking specific window title if(s.equalsIgnoreCase("Sign in - Google Accounts")){ System.out.println("Window title to be closed: "+ driver.getTitle()); driver.close(); } } // switching parent window driver.switchTo().window(m); driver.quit(); } }
Đầu ra