Search code examples
pythonwindowsselenium-webdriverconsolegeckodriver

How to hide geckodriver console window?


I'm running Selenium 3.141.0 with python 3.6.7 on windows 10

My script runs the Firefox driver in headless, however a console window from geckodriver still pops up.

from selenium import webdriver

options = webdriver.FirefoxOptions()
options.add_argument('-headless')
driver = webdriver.Firefox(executable_path=r'c:\webdrivers\geckodriver.exe', log_path='C:\webdrivers\geckodriver.log', firefox_options=options)
driver.get('http://10.0.0.102/')

element = WebDriverWait(driver, 20).until(
    EC.presence_of_element_located((By.ID, "body-home-tile-pgDevServ"))
)
button = driver.find_element_by_id('body-home-tile-pgDevServ')
button.click()
element = WebDriverWait(driver, 20).until(
    EC.presence_of_element_located((By.ID, "devserv-printQ-Inp"))
)
button = driver.find_element_by_id('devserv-printQ-Inp')
button.click()

Solution

  • After some messing around it seems like adding options.add_argument('--disable-gpu') fixes it (sometimes).

    Running the script from vscode works, running the script with windows task scheduler works. Running from powershell or cmd does not work.