परिचय
हम Selenium WebDriver के साथ एक विशिष्ट विंडो बंद कर सकते हैं। getWindowHandles और getWindowHandle मेथड्स का उपयोग चाइल्ड विंडो को संभालने के लिए किया जा सकता है। getWindowHandles मेथड का उपयोग सभी खुले विंडो हैंडल को Set डेटा संरचना में स्टोर करने के लिए किया जाता है।
getWindowHandle मेथड का उपयोग फोकस में ब्राउज़र विंडो के विंडो हैंडल को स्टोर करने के लिए किया जाता है। हमारे कोड में Set डेटा संरचना को समायोजित करने के लिए हमें import java.util.Set और import java.util.List स्टेटमेंट जोड़ने होंगे।
डिफ़ॉल्ट रूप से, ड्राइवर ऑब्जेक्ट केवल पैरेंट विंडो के एलिमेंट्स तक पहुंच सकता है। पैरेंट से चाइल्ड विंडो पर अपना फोकस स्विच करने के लिए, हम switchTo().window मेथड की मदद लेंगे और चाइल्ड विंडो के विंडो हैंडल आईडी को मेथड के आर्गुमेंट के रूप में पास करेंगे। फिर चाइल्ड विंडो से पैरेंट विंडो पर जाने के लिए, हम switchTo().window मेथड की मदद लेंगे और पैरेंट विंडो हैंडल आईडी को मेथड के आर्गुमेंट के रूप में पास करेंगे।
उदाहरण
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");
// इम्प्लिसिट वेट
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
// पैरेंट विंडो का विंडो हैंडल
String m = driver.getWindowHandle();
driver.findElement(By.id("login-google-button")).click();
// विंडो हैंडल को Set में स्टोर करें
Set w = driver.getWindowHandles();
// विंडो हैंडल पर पुनरावृति
for (String h : w){
// प्रत्येक विंडो पर स्विच करें
driver.switchTo().window(h);
String s = driver.getTitle();
// विशिष्ट विंडो शीर्षक की जांच
if(s.equalsIgnoreCase("Sign in - Google Accounts")){
System.out.println("बंद की जाने वाली विंडो का शीर्षक: "+ driver.getTitle());
driver.close();
}
}
// पैरेंट विंडो पर स्विच करें
driver.switchTo().window(m);
driver.quit();
}
} आउटपुट
विशिष्ट विंडो बंद करने का प्रदर्शन करने वाला स्क्रीनशॉट।