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()
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.