Skip to content Skip to sidebar Skip to footer

How To Minimize Or Hide The Geckodriver In Selenium?

This is what I have: from selenium import webdriver driver = webdriver.Firefox() How can I let the geckodriver open minimized or hidden?

Solution 1:

You have to set the firefox driver options to headless so that it opens minimized. Here is the code to do that.

fireFoxOptions = webdriver.FirefoxOptions()
fireFoxOptions.set_headless()
driver = webdriver.Firefox(firefox_options=fireFoxOptions)

If this doesn't work for you there are other methods that you can use. Check out this other SO question for those: How to make firefox headless programmatically in Selenium with python?

Solution 2:

geckodriver

geckodriver in it's core form is a proxy for using W3C WebDriver-compatible clients to interact with Gecko-based browsers.

This program provides the HTTP API described by the WebDriver protocol to communicate with Gecko browsers, such as Firefox. It translates calls into the Firefox remote protocol by acting as a proxy between the local- and remote ends.

So more or less it acts like a service. So the question to minimize the GeckoDriver shouldn't arise.


Minimizing Mozilla Firefox browser

The Selenium driven GeckoDriver initiated Browsing Context by default opens in semi maximized mode. Perhaps while executing tests with the browsing context being minimized would be against all the best practices as Selenium may loose the focus over the Browsing Context and an exception may raise during the Test Execution.

However, Selenium's client does have a minimize_window() method which eventually minimizes the Chrome Browsing Context effectively.


Solution

You can use the following solution:

  • Firefox:

    from selenium import webdriver
    
    options = webdriver.FirefoxOptions()
    options.binary_location = r'C:\Program Files\Mozilla Firefox\firefox.exe'
    driver = webdriver.Firefox(firefox_options=options, executable_path=r'C:\WebDrivers\geckodriver.exe')
    driver.get('https://www.google.co.in')
    driver.minimize_window()
    
  • Chrome:

    from selenium import webdriver
    
    options = webdriver.ChromeOptions()
    options.add_argument("--start-maximized")
    options.add_experimental_option("excludeSwitches", ["enable-automation"])
    options.add_experimental_option('useAutomationExtension', False)
    driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
    driver.get('https://www.google.co.in')
    driver.minimize_window()
    

Reference

You can find a detailed relevant discussion in:


tl; dr

How to make firefox headless programmatically in Selenium with python?

Post a Comment for "How To Minimize Or Hide The Geckodriver In Selenium?"