हम सेलेनियम वेबड्राइवर के साथ एक विशिष्ट विंडो बंद कर सकते हैं। getWindowHandles और गेटविंडोहैंडल चाइल्ड विंडो को संभालने के लिए तरीकों का इस्तेमाल किया जा सकता है। GetWindowHandles विधि का उपयोग सभी खुले हुए विंडो हैंडल को सेट डेटा संरचना में संग्रहीत करने के लिए किया जाता है।
getWindowHandle विधि का उपयोग ब्राउज़र विंडो के विंडो हैंडल को फ़ोकस में संग्रहीत करने के लिए किया जाता है। हमें जोड़ना होगा import java.util.Set और java.util.List आयात करें हमारे कोड में सेट डेटा संरचना को समायोजित करने के लिए कथन।
डिफ़ॉल्ट रूप से, ड्राइवर ऑब्जेक्ट केवल मूल विंडो के तत्वों तक पहुँच सकता है। इसके फोकस को पैरेंट से चाइल्ड विंडो पर स्विच करने के लिए, हम switchTo().window की मदद लेंगे। विधि और विधि के तर्क के रूप में बाल विंडो की विंडो हैंडल आईडी पास करें। फिर चाइल्ड विंडो से पैरेंट विंडो में जाने के लिए, हम switchTo().window की मदद लेंगे। विधि और पैरेंट विंडो हैंडल आईडी को विधि के तर्क के रूप में पास करें।
उदाहरण
कोड कार्यान्वयन।
आयात करें आयात java.util.List; आयात java.util.Set; सार्वजनिक वर्ग CloseSpecificWindow {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) { System.setProperty ("webdriver.chrome.driver", "C:\\ उपयोगकर्ता \\ ghs6kor \\Desktop\\Java\\chromedriver.exe"); वेबड्राइवर ड्राइवर =नया क्रोमड्राइवर (); Driver.get ("https://secure.indeed.com/account/login"); // निहित प्रतीक्षा ड्राइवर। प्रबंधन ()। समयबाह्य ()। अंतर्निहित रूप से प्रतीक्षा करें (5, TimeUnit.SECONDS); // पैरेंट विंडो का विंडो हैंडल स्ट्रिंग m =Driver.getWindowHandle (); Driver.findElement(By.id("login-google-button")).क्लिक करें (); // स्टोर विंडो हैंडल सेट सेट w =ड्राइवर में। getWindowHandles (); // विंडो हैंडल को फिर से चालू करें (स्ट्रिंग एच:डब्ल्यू) {// प्रत्येक विंडो ड्राइवर पर स्विच करना। स्विचटो ()। विंडो (एच); स्ट्रिंग एस =ड्राइवर। getTitle (); // विशिष्ट विंडो शीर्षक की जाँच करना if(s.equalsIgnoreCase("Sign in - Google Accounts")){ System.out.println("विंडो का शीर्षक बंद किया जाना है:"+driver.getTitle()); ड्राइवर। बंद (); } } // पैरेंट विंडो ड्राइवर स्विच करना। स्विचटो ()। विंडो (एम); ड्राइवर। छोड़ो (); }}आउटपुट