Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Selenium WebDriver और Java का उपयोग करके एक विशिष्ट विंडो कैसे बंद करें?

परिचय

हम 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();
    }
}

आउटपुट

विशिष्ट विंडो बंद करने का प्रदर्शन करने वाला स्क्रीनशॉट।

  1. Java में JWindow का उपयोग करके स्प्लैश स्क्रीन कैसे लागू करें? Java में JWindow का उपयोग करके स्प्लैश स्क्रीन कैसे लागू करें?

    एक JWindow एक कंटेनर है जिसे यूज़र के डेस्कटॉप पर कहीं भी प्रदर्शित किया जा सकता है। इसमें JFrame की तरह टाइटल बार, विंडो मैनेजमेंट बटन्स आदि नहीं होते। JWindow में एकमात्र चाइल्ड क्लास के रूप में JRootPane होता है। contentPane JWindow के किसी भी बच्चे का पैरेंट हो सकता है। JFrame की तरह, एक JWindo

  1. सेलेनियम वेबड्राइवर में पायथन से विशिष्ट डोमेन के लिए कुकी सेट करें सेलेनियम वेबड्राइवर में पायथन से विशिष्ट डोमेन के लिए कुकी सेट करें

    समस्या विवरण सेलेनियम वेबड्राइवर का उपयोग करके किसी विशिष्ट डोमेन के लिए कुकी (cookie) सेट करना, प्राप्त करना और हटाना। मुख्य विधियां add_cookie(cookie_dict) — कुकी जोड़ें (name, value, domain, path, expiry आदि)। get_cookies() — सभी कुकीज़ प्राप्त करें। get_cookie(name) — नाम से विशिष्ट कुकी

  1. पायथन में फैंटमजेएस (PhantomJS) और सेलेनियम से विंडो आकार सेट करें पायथन में फैंटमजेएस (PhantomJS) और सेलेनियम से विंडो आकार सेट करें

    समस्या विवरण फैंटमजेएस (हेडलेस ब्राउज़र) के साथ सेलेनियम वेबड्राइवर का उपयोग करके ब्राउज़र विंडो का आकार सेट करें और प्राप्त करें। नोट: फैंटमजेएस अब अप्रचलित (deprecated) है। आधुनिक विकल्प: Chrome --headless या Firefox --headless मोड। मुख्य विधियां set_window_size(width, height) — विंडो आकार से